I see so much breathless adoration for Erlang and Elixir, how come it hasn't taken over the world in all this time?
Same reason you don't see taken over the world. The demands of the world are different to the demand of small passionate communities.
What I mean when I say that machine learning in Elixir is production-ready
21–30 of 108 posts
Re: What I mean when I say that machine learning in Elixir is production-ready
#22I see so much breathless adoration for Erlang and Elixir, how come it hasn't taken over the world in all this time?
Re: What I mean when I say that machine learning in Elixir is production-ready
#23Earlier quoted context omitted.
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 w…
> 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 b…
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 production-ready
#24Earlier quoted context omitted.
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 w…
> 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 b…
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 production-ready
#25I see so much breathless adoration for Erlang and Elixir, how come it hasn't taken over the world in all this time?
But python doesn't vertically scale very well. A language like Elixir can grow to fit the size of the box it is on, making use of all the cores, and then without too much additional ceremony scale horizontally aswell with distributed elixir/erlang.
Elixir getting a good story around webdev (phoenix and liveview) and more recently the a good story around ML is going to increase it's adoption, but it's not going to happen overnight. But maybe tomorrows CTOs will take the leap.
Re: What I mean when I say that machine learning in Elixir is production-ready
#26I see so much breathless adoration for Erlang and Elixir, how come it hasn't taken over the world in all this time?
FP, average performance, no static typing, finding people etc ... Personally I don't like FP.
Re: What I mean when I say that machine learning in Elixir is production-ready
#27I see so much breathless adoration for Erlang and Elixir, how come it hasn't taken over the world in all this time?
Because embarrassing little in coding is controlled by these imagineers. There’s no much real difference in programming languages anymore, honestly I’ve never met a good programmer that cared about these, it makes your code fringe and inportable.
Haskell is one of the best in the world in this. But it also happens to be incredibly complex and also weird in it's syntax, to the point it does make code fringe and unreadable.
There is a real difference here - a language that can help you fact check your logic and reason that you are accessing a potentially null value in this context can be better if it's drawbacks don't outweight it.
Elixir isn't static so it doesn't do this but it does blow up a lot compared to other dynamic languages. It's abstraction of proccesses and threads and what not, does actually make your code more portable and more modifyable. It offers a specific paradigm for programming that works great for multiple proccesses and the whole language is built around it. So if you are going to be using that paradigm anyway it would be a better choice.
It's also just pretty how it fits together.
Re: What I mean when I say that machine learning in Elixir is production-ready
#28Earlier quoted context omitted.
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 w…
> 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 b…
Re: What I mean when I say that machine learning in Elixir is production-ready
#29Earlier quoted context omitted.
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 w…
> 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 b…
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 production-ready
#30I see so much breathless adoration for Erlang and Elixir, how come it hasn't taken over the world in all this time?
I don’t know why it has not. However, it has such a strong set of advantages that people who know what it can do for them keep describing it as a “secret weapon”.
As others have mentioned, it will scale up on a single machine to make use of all the cores (unlike Nodejs, Python, or Ruby). It can already scale horizontally by clustering. Because of the way it is designed, I never have to define a Kubernetes liveliness probe for an Elixir app, whereas I have seen Dotnet and Nodejs apps freeze without crashing (cooperative async reactor can go into infinite loops; Nodejs is very bad about orphaning async execution, by design).
A lot of AI apps is going to involve connecting with unreliable third party services (for example, agents making calls to other api to get information or initiate actions), and may even be on hardware with unreliable network (IoT and edge) and this is where BEAM / OTP shines ahead of pretty much every other runtime and platform.
HN and elsewhere are riddled with Elixir developers extolling its competitive advantages for years … I have had very smart people argue to me why Typescript makes Nodejs so much better, but at this point, I have very little incentive to persuade them. Hence, “secret weapon”.