News for hackers. Stuff that matters.
Re:What I mean when I say that machine learning in Elixir is... by macintux on Thursday May 09, 2024 @11:17AM (#40309113)
Inertia: curly braces rule the world. Imperative/OO programming are ubiquitous, FP not so much.

Corporate sponsorship: even with curly braces and mutability, Go probably wouldn't have gained its mindshare without Google.

Performance: It's getting much better, but the BEAM was never designed for maximum performance. People don't like slow platforms, despite the other advantages.

Scale: much like one of the databases written in Erlang, Riak, you typically don't need a BEAM language until your solution is large enough that you've already written it in something else.

I love Erlang, but I'm a lost cause.

Re:What I mean when I say that machine learning in Elixir is... by ambicapter on Thursday May 09, 2024 @11:50AM (#40309462)
> Performance: It's getting much better, but the BEAM was never designed for maximum performance. People don't like slow platforms, despite the other advantages.

> Scale: much like one of the databases written in Erlang, Riak, you typically don't need a BEAM language until your solution is large enough that you've already written it in something else.

These two seem to contradict one another. How can it not be fast but scale well (I'm thinking of a way as I type this but I'll let you answer)?

Re:What I mean when I say that machine learning in Elixir is... by ffsm8 on Thursday May 09, 2024 @11:57AM (#40309526)
Latency vs throughput.

If you just want to do 1+1, 1 million times in a sequence, then erlang will likely be one of the last to complete the challenge.

If you want to do 1 million 1+1 in parallel, then erlang will get you there with minimal overhead, even if each number crunched will take longer then java, golang etc... the way it branches out is very efficient

Re:What I mean when I say that machine learning in Elixir is... by bcrosby95 on Thursday May 09, 2024 @12:10PM (#40309665)
When people talk about scaling they usually mean horizontally (more computers) rather than vertically (a more powerful computer).

Scaling like this tends to involve your system actually performing worse because, among other things, it has to go across the network.

Re:What I mean when I say that machine learning in Elixir is... by paradox460 on Thursday May 09, 2024 @12:09PM (#40309656)
You can do one thing fast, or many things slowly. For many common applications, doing many things slow is more important than off-the-starting-block performance
Re:What I mean when I say that machine learning in Elixir is... by peoplefromibiza on Thursday May 09, 2024 @11:58AM (#40309528)
> How can it not be fast but scale well

soft realtime: Erlang gets slower with load, but keeps responding

fault tolerance: it's very hard to bring an Erlang application to a grinding halt

distribution: it's stupid easy to distribute an Erlang application and scale it horizontally

Re:What I mean when I say that machine learning in Elixir is... by giancarlostoro on Thursday May 09, 2024 @12:38PM (#40310002)
If curly braces rule the world explain Python? Some pretty well known apps are powered by Django.

Doing AI/ML without Python is doable but not quite as mainstream.

Re:What I mean when I say that machine learning in Elixir is... by macintux on Thursday May 09, 2024 @01:00PM (#40310265)
Sure, there are exceptions to every rule. Python is close enough to pseudocode that beginners can get familiar with the basic syntax easily.
Re:What I mean when I say that machine learning in Elixir is... by giancarlostoro on Thursday May 09, 2024 @05:24PM (#40313115)
I am not talking about beginner level software though. We are talking millions of users, very serious software.