Littlelines, a Dayton, Ohio web development shop, writes about Elixir, Phoenix, Ruby on Rails, and legacy Rails apps.
HN links it for its Elixir versus Ruby comparisons, and commenters use it to discuss why Elixir and Phoenix appeal to Rails developers.
Granted this is speculation, but I've done my homework:
1) Extreme concurrency due to Erlang underneath, which means not only being able to handle lots of connections at once, but very good DDoS resistance. See WhatsApp's blog post about it: http://blog.whatsapp.com/196/1-million-is-so-2011 An Elixir (or Erlang) process can fire up a million new nodes in a second on commodity hardware. No joke. The out-of-the-box concurrency in Elixir replaces many tools in Ruby that are normally separate gems: http://www.smashcompany.com/technology/ruby-concurrency-needs-microservices-but-not-elixir
2) Near-100% uptime possible. (Google "Whatsapp uptime"). Erlang was designed to run cell networks. It made them very reliable. The entire philosophy of the language is to "embrace failure, log it and try again ASAP." This ends up being a very good strategy when dealing with the uncertainty of the real world, and things like security concerns.
3) Live code upgrades without downtime. See this demo: https://youtu.be/96UzSHyp0F8
4) MUCH nicer syntax than Erlang. Especially for ex-Rubyists. It's a functional language (with all the advantages that provides) with a Ruby-flavored syntax. Best of all worlds.
5) Phoenix, the Rails-equivalent web API, has come out of the gate with a 2 to 10x performance improvement over Rails using a fraction of the CPU load: http://www.littlelines.com/blog/2014/07/08/elixir-vs-ruby-showdown-phoenix-vs-rails/
6) Elixir provides true macros (in the Lisp sense). It…
Littlelines | Dayton, Ohio (USA) | https://littlelines.com
Littlelines is hiring an experienced and passionate Ruby on Rails engineer to join its team. We are a small team, so the ideal team member would be comfortable taking on various tasks and seeing them to completion. Our main stack is Ruby, Rails, Elixir, Phoenix, and Vue.js, but this candidate should love learning and trying new technology.
You’re experienced and proficient with most of the following:
Demonstrates strong knowledge in Ruby and Rails
You've built and deployed Rails applications
Have a GitHub account with recent contributions
Loves Test Driven Development
Know your way around HTML, CSS and JavaScript
Bonus Points:
Experience with Elixir and Phoenix
You've contributed to open source projects
Take interest in scalability and security
Experience with DevOps
Apply: jobs [at] littlelines [dot] com
I have been using Erlang since 2008, and started using Elixir in 2014.
I much prefer the Elixir syntax. It files off the rough parts of the Erlang syntax, e.g. needing to keep track of commas, periods and semicolons at the ends of lines.
The most important thing Elixir adds, though, is lisp-style macros, which makes everything else easier.
This is the post which made me switch to Elixir: https://littlelines.com/blog/2014/07/08/elixir-vs-ruby-showdown-phoenix-vs-rails
We get the best of both worlds: the ease of use of Rails with the power of Erlang.
Except Phoenix and Elixir are just faster out of the gate than Rails and Ruby!
"tl;dr Phoenix showed 10.63x more throughput over Rails when performing the same task, with a fraction of CPU load"
https://littlelines.com/blog/2014/07/08/elixir-vs-ruby-showdown-phoenix-vs-rails
You can tack on a Phoenix app on top of a Rails app's database and immediately get big improvements as Rails can be a bottleneck.
In case you are wonder why the excitement about Exilir ... Exilir allows you to easily create DSL in Erlang.
Phoenix is a great example that has used Exilir to create a DSL that is similar to Ruby on Rails.
http://www.littlelines.com/blog/2014/07/08/elixir-vs-ruby-showdown-phoenix-vs-rails/
1GB is an obscene amount of ram for a webapp, it's just that Ruby is a memory hog. You can run an Elixir webapp with much much less memory.
See: http://www.littlelines.com/blog/2014/07/08/elixir-vs-ruby-showdown-phoenix-vs-rails/
tl:dr;
Ruby/Rails: 235.37MB
Elixir/Phoenix: 34.69MB