4 ms·
I switched from Ruby to Elixir about 10 years ago for a number of reasons. 10x performance on various algorithms I translated into Elixir was one. Another one w
by pmarreck 11mo ago
I switched from Ruby to Elixir about 10 years ago for a number of reasons. 10x performance on various algorithms I translated into Elixir was one. Another one was 100% immutability, ruling out an entire class of bugs. A third was excellent concurrency support, which was of course aided by the immutability. A fourth was that they tried to retain the friendliness of Ruby.
At least a few emerged later. Pattern-matching + guards are godlike and eliminate tons of boilerplate argument-checking logic. Per-process GC, no GIL, etc. etc.
A small learning curve to master functional-language semantics and I haven't looked back.
Elixir simply scales better in every way- long-term maintenance, load, etc.
The Ruby community is/was amazing, though.
The only thing I wish it could do was compile down to a native executable or run in the browser.
- busterarm 11mo agoVery similar story here. I still somewhat "think in Ruby" though. It was really the first language that let me comfortably build large projects and really lean into metaprogramming. I prefer Elixir/Erlang for personal projects though. Haven't lucked into an Elixir/Erlang job yet to experience working on such a codebase with others yet, so for that my preference is still C++. Work makes me use Golang and Python and I find no joy in either. I still drop into Ruby if I need a small script for something personal.
- pmarreck 11mo agoRuby is 1000x better than Go or Python IMHO. Personal opinion, of course. I've been lucky to work in Elixir jobs for a few years. Funny thing, though, I've been curious about getting closer to the metal after messing with LuaJIT and its C FFI and seeing the rather shocking performance (coming from a high-level scripting background). I content myself with converting some of my more unfortunately-sophisticated Bash utility functions to LuaJIT, which so far has been an all-positives experience.