- Programming paradigm. Elixir runs on the Erlang VM (BEAM) that has a totally different way of running things. Code is run in small processes that are pre-emptively scheduled. This means you can easily take advantage of parallelism without being able to hog a core/scheduler, and you can write blocking code without having to worry about it blocking some other code from running.
- Functional programming with immutable values. Changes the way you think, for the better IMO.
- Pattern matching. I use it in conditionals, I use it in function heads, I use it in assignments. It makes my code more readable and helps guard against (runtime) type errors, failing fast instead of running with a possibly wrong value and crashing far away from the problem site. Now to be honest I haven’t played with Ruby much so I don’t know how they mitigate that.
6 Likes






















