|
|
|
|
|
by josevalim
2641 days ago
|
|
> FWIW the last time I tried to use Elixir with escript was with 1.3. Interesting, escripts should have worked by then. I assume this was quite some time ago, so you don't have it around anymore, but if you do recall what went wrong I would love to take a look at it. But just to put things in perspective, v1.3 is almost three years old and things have generally evolved since. > There just aren't any killer features in Elixir that would revisit it. Well, sometimes the killer feature is having all of that in the same package: immutability, concurrent primitives, scripts, etc. There are also killer features (although I guess "killer" will depend on the person) that we get from running on the Erlang VM: focus on fault-tolerance and supervisors, concurrency and distribution out-of-the-box, and generally other features coming from processes and the actor model. For example, Phoenix makes an excellent use of all those features to build performant web applications with a focus on real time (Phoenix LiveView being a recent great example). Nerves uses the fault tolerance bits for building embedded software. Etc. |
|
But who wants to sit idly and wait for three years for a language to evolve (and regress)? At what point does saying "deployments have been broken with no fix or root cause in sight, let's just sit tight and hope for the best" sound ridiculous?
Were the alternatives to Elixir mediocre I'd consider revisiting it. Were I to see an interesting opening at an Elixir shop, I'd consider it. Would I ever stake my reputation on suggesting Elixir for a new project in a professional environment? Absolutely, 100% no.
Well, sometimes the killer feature is having all of that in the same package: immutability, concurrent primitives, scripts, etc.
I get all of that with rust and I'm not tied to Linux or a petulant maintainer. vOv
I'd be careful about touting performance versus a compiled language like Rust though. Going from Phoenix to Rocket I saw a pretty dramatic speedup in the time it took to serve requests even on my simplest web app (an image gallery). Phoenix wasn't slow, but Rocket was consistently faster.
Edit: OK async on rust is still a shit show, but hey nothing's perfect, right?