← Back to context

Comment by csto12

15 hours ago

Is Erlang (not Elixir) used for new projects anymore? I never see new repos showing up here using Erlang in open source.

Erlang isn't a popular BEAM language outside of companies and by this point Elixir has probably taken a good chunk of that just by capturing people outside of that context enough as well.

With that said there is almost no reason to use Elixir, it doesn't provide enough on top of Erlang to be meaningful and Erlang as a language is considerably easier to learn, so if you onboard people you'll have a better time. Erlang also has less features you probably shouldn't use and you'll end up with more simple, straight forward code than with Elixir in the long term.

For people who like a bit of order in their programming Gleam is a better alternative to both of these; it just has a regrettable view of OTP, the libraries around processes do not seem very well thought out with regards to providing a similar experience to Erlang/Elixir when writing `gen_server`s, for example.

  • Mix and the new type system isn’t a differentiator?

    • I haven't used whatever they've shipped in terms of type system, it's possible that that would be a positive differentiator for Elixir now.

      With regards to `mix`, you can use literally only that if you like it and just set up `erlc_paths = ["erl_src"]` and write your actual stuff in Erlang in that path.

      It's also fine to just use `rebar3`, to be honest; `mix` as a tool is not such a large difference that it should make you more interested in Elixir, IMO.

I don't know of any. People are really just selecting for the underlying runtime. And Elixir and Gleam are better targets here.

  • Well, I’m doing a new erlang project at a large financial institution; there are a certain class of problems that are best solved by it. I don’t think elixir is a better target; erlang is overall a better language, once you get over the initial syntax.

    Mostly our crud services or apis are better served by java or go tho.

  • What are the big benefits of the runtime (BEAM) that are drawing people?

    • The same as ever: lightweight processes with isolated heaps and per-process garbage collection, and the native message passing style.