wroc_love.rb 2017 part 2: The Elixir Hype
By
Wojtek Ziniewicz
March 21, 2017
One of the main reasons I attend wroc_love.rb almost every year, is that itâs a great forum for confronting ideas. Itâs almost a tradition to have at least 2 very enjoyful discussion panels during this conference. One of them was devoted to Elixir and why the Ruby [1] community is so hyping about it.
Why Elixir is âsoldâ to us as ânew better Rubyâ while its underlying principles are totally different? Wonât it result in Elixir programmers that do not understand Elixir (like Rails programmers that do not know Ruby)?
Panelists discussed briefly the history of Elixir:
Jose Valim (who created Elixir) was working on threading in Rails and he was searching for better approaches for threading in web frameworks. He felt like lots of things were lacking in Erlang and Elixir is his approach for better Exceptions, better developer experience.
Then they jumped to Elixirâs main goals which are:
- Compatibility with Erlang (all datatypes)
- Better tooling
- Improving developersâ experience
After that, they started speculating about problems that Elixir solves and RoR doesnât:
Ruby on Rails addresses many problems in ways that may be somehow archaic to us in the ever-âscaling world of 2017. There are many approaches to it, e.g. âactor modelâ which is implemented in Ruby by Celluloid, in Scala with Akka and also Elixir and Phoenix (Elixirâs rails-like framework) has its own actor model.
Phoenix (âRails for Elixirâ) is just an Elixir appââunlike Rails, it is not separate from Elixir. Moreover Elixir is exactly the same language as Erlang so:
Erlang = Elixir = Phoenix
Great comment:
Elixir is same as Erlang but not really #wrocloverbâ Daria Woznicka (@DWoznicka) March 18, 2017
Then a discussion followed during which panelists speculated about the price of the jump from Rails to Elixir:
The Java to Rails jump was caused by business/âproductivity. Thereâs no such jump for Phoenix/âElixir. Elixir code is more verbose (less instance variables, all args are passed explicitly to all functions).
My conclusions
A reason why this discussion was somehow shallow and pointless was that those two worlds have different problems. Great comment:
Ruby guys focus on business. Elixir guys on technical aspects #wrocloverbâ MichaĆ Ćomnicki (@mlomnicki) March 18, 2017
Elixir solves a lot of technical problems with scaling thanks to Erlangâs virtual machine. Such problems are definitely only a small part of what typical Ruby problem-âsolvers deal with on a daily basis. Hearing Elixir and Ruby on Rails developers talk past each other was probably the first sign of the fact that thereâs no hyping technology right now. Each problem can be addressed by many tech tools and frameworks.
[1] Wrocloverb describes itself as a âbest Java conference in Ruby worldâ. Itâs deceiving:
#wrocloverb was great Clojure conference :)â Jakub CieĆlar (@jcieslar_) March 19, 2017
Thanks for all organizers and speakers!
clojure conference elixir rails ruby scalability
Comments