June 29th, 2016
(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: firstname.lastname@example.org
If not, why? This has been one of the big puzzles of the last 30 years: if some technologies are clearly superior, then why don’t they take over? Apparently because they lack an element that appeals to management in big corporations? That’s always been the argument against Lisp: it is great for the individual master craftsman, but it doesn’t work in a big corporation full of badly paid, mediocre programmers.
Erlang has been the most safe, resilient technology out there since 1993. Yet it hasn’t won many converts. Why? Phoenix is built on the same base as Erlang. Will Phoenix succeed where Erlang failed?
I’m still learning, but I’ve already noticed some incredible response times. Phoenix is very fast. I wish I had actual numbers to give you that compare to Django but I’m just not that far along yet.
Elixir as a language is very nice. This is my first taste of “functional” programming and I really like it. Shifting my mindset from object-oriented has been difficult, but I find the code I write much more straight-forward so far for the types of apps I will be building.
What do I miss? Maturity. Django dotted its Is and crossed its Ts a long time ago. I wouldn’t say Phoenix is buggy at all—I think it is production ready—but the recent work Django has been doing with things like Postgres libraries are several steps ahead of where Phoenix is at today. Also, Django documentation is bar-none.
There is nothing about Phoenix that jumps out at me and says “Django would be so much better if it had this!” Maybe Presence will be one of those things, but I have not had a chance to play with it yet. I am excited about how Elixir (on top of Erlang OTP) scales horizontally with virtually no effort, which is something that Python cannot replicate as easily without a lot of thought and some sort of bolted on message db—and in the end, slower. The robust concurrency story (and what that could mean long-term) is exciting to me.