Elixir vs. Java, Ruby, and PHP - Seeking case studies or an interview with a community member

The problem with this approach is that it is about as useful a numeric score on meta-critic - there are just too many nuances to be captured in a matrix to translate to any particular real world scenario.

One thing that sticks out about the Elixir community is that it is quite up front that Elixir isn’t the best solution for everything - and that it really doesn’t matter because Elixir/Erlang typically interoperates with various other technologies quite well - Erlang can interoperate with C/C++ and Java code (JInterface) - more direct interoperation with Python seems to be in the works and ultimately you can build the entire system around something like RabbitMQ (which itself is implemented in Erlang) which supports a large number of other development environments.

Technically the biggest “drawback” is that Elixir development is for the time being largely coupled to PostgreSQL - so access to existing legacy information from persistent storage (e.g. Oracle) can require additional effort.

Java and PHP have the edge for non-technical reasons. Both are being frequently taught in post-secondary institutions - so “resources” are typically in good (and relatively cheap) supply. Getting people to work quickly was a primary design consideration behind Go:

It must be familiar, roughly C-like. Programmers working at Google are early in their careers and are most familiar with procedural languages, particularly from the C family. The need to get programmers productive quickly in a new language means that the language cannot be too radical.

The resource situation with respect to Elixir/Erlang is different:

Smaller Community: Erlang developers not as prevalent but “the ones you do find tend to be really good”

The sentiment seems to duplicate observations within the Clojure community.

Hiring managers tell us Clojure is their “secret weapon. It self-selects for smart developers”.

… Clojure lets you do much more with significantly less.

Projects with Elixir/Erlang teams tend to report the same kind of dynamic.

In many ways Ruby/Rails seems to be a cleaner alternative to PHP - as long as the project fits well into the constraints of Rails conventions - i.e. a CRUD web application is sufficient to get the job done (now and in the future).

See also: Elixir from JAVA guy perspective

4 Likes