So personally I prefer Erlang to Elixir - the language feels more like it was designed around the programming paradigms it supports (message passing, everything’s one of about 6 types for efficient serialisation etc), whereas Elixir feels like “what if we made a language with syntax like Ruby that worked like (and with the backend of) Erlang?” - there are some aspects I like, such as how the vast majority of things, even def, are a function call, and the parameter lists, but it feels very much like there’s a lot of workarounds of the design principles of the language to get it to work
I also prefer Gleam to Elixir - it brings much nicer functional programming than either Erlang or Elixir and of course typing, which feels very missing from Elixir but not from Erlang, which is far clearer that something is one of very few types and lets you handle multiple types in a very natural feeling way. It also feels more akin to modern “full featured” (as opposed to scripting) languages than either Erlang or Elixir does.
Basically if you’re learning something for employability, learn Elixir. If you’re learning something for a potential business idea, use Gleam. If you’re learning something for personal projects, see if Erlang is intuitive for you - if it is, I can guarantee you’ll love it, if not, use Gleam.
That’s a great perspective, thanks for sharing that and it makes me want to reconsider using Gleam, but even more so makes me want to properly learn Erlang. And actually I’m not really a fan of Ruby, so that’s not something I’m attached to in Elixir.
I certainly appreciate the introduction of typing in Gleam, but one criticism I’ve seen of Gleam is the lack of function overloading, that is such a core feature of both Erlang and Elixir.
So personally I prefer Erlang to Elixir - the language feels more like it was designed around the programming paradigms it supports (message passing, everything’s one of about 6 types for efficient serialisation etc), whereas Elixir feels like “what if we made a language with syntax like Ruby that worked like (and with the backend of) Erlang?” - there are some aspects I like, such as how the vast majority of things, even def, are a function call, and the parameter lists, but it feels very much like there’s a lot of workarounds of the design principles of the language to get it to work
I also prefer Gleam to Elixir - it brings much nicer functional programming than either Erlang or Elixir and of course typing, which feels very missing from Elixir but not from Erlang, which is far clearer that something is one of very few types and lets you handle multiple types in a very natural feeling way. It also feels more akin to modern “full featured” (as opposed to scripting) languages than either Erlang or Elixir does.
Basically if you’re learning something for employability, learn Elixir. If you’re learning something for a potential business idea, use Gleam. If you’re learning something for personal projects, see if Erlang is intuitive for you - if it is, I can guarantee you’ll love it, if not, use Gleam.
That’s a great perspective, thanks for sharing that and it makes me want to reconsider using Gleam, but even more so makes me want to properly learn Erlang. And actually I’m not really a fan of Ruby, so that’s not something I’m attached to in Elixir.
I certainly appreciate the introduction of typing in Gleam, but one criticism I’ve seen of Gleam is the lack of function overloading, that is such a core feature of both Erlang and Elixir.