Live data from Hacker News

Ask HN: Why isn't Phoenix/Elixir more mainstream?

news.ycombinator.com

1–10 of 130 posts

Ask HN: Why isn't Phoenix/Elixir more mainstream?

#1
Hey all!

I've been a frontend developer for years, primarily working with React and Vue, connecting them to REST or GraphQL APIs. Lately, I've been diving into Phoenix/Elixir, and I've been intrigued.

From the docs and examples, Phoenix seems to offer a significant amount of built-in functionality, potentially providing a more streamlined and robust approach than the separate backend/frontend architectures I've been using.

However, I know there's always more to the story. For those experienced with Phoenix/Elixir:

What are its pros and cons compared to popular frontend frameworks?

Why hasn't it gained as much traction as other frameworks?

Appreciate your insights!

Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?

#2
I worked with a team that was convinced of the superiority of elixir/erlang over ruby/rails in our ecosystem. It can accept thousands of simultaneous connections, etc. But the devil is in the details. If those connections include queries to a database then it's just a slow and clunky as every other front end framework and the learning curve is pretty damn steep. So overall the lack of integration with existing tooling and communities is what drove us away. Sure, you can do magnificent things if you keep every little bit in process but it's really hard to do that. And you need a super big box to make sure that everything is in one process.

Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?

#3
Because Elixir is a language with a fundamentally different paradigm when it comes to state and concurrency, similar to how MLs like Haskell or Rust are different then just picking up and writing some JavaScript or Python. It's different, so it's not mainstream. I think that's really the thrust of it.

Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?

#4
I made a fair amount of money with Phoenix and Elixir and I like them.

My take is that what's hindering their further expansion to mainstream are: Elixir is not curly braced and it's not object oriented. Those two alone make a big difference in familiarity. The vast majority of developers are using curly braced OO languages and it takes less effort to learn another one. I was coming mostly from Ruby and Elixir was designed with a syntax and module names similar to Ruby's.

That GenServers are objects with methods and an internal state is another, possibly ironical, matter.

Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?

#5
n=1 but over my 15 year career I've tried picking up elixir and found it too difficult to learn. I found the syntax hard to read and felt I had to spend 2x more time digesting a similar method than in scala/java (my background). I wish I had picked it up though, being a consultant in elixir seems lucrative and I've received multiple offers to maintain a phoenix/elixir codebase at $150/hr.

Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?

#6
The trend right now is AI, which is mostly written in Python. Most people want to write their whole stack in 1 language, whenever possible. So people just default to Python servers and React clients.

There is tooling like Carton being developed to work around this, but the gravity is always towards monolanguage stacks. In the past the incumbent would get stiff and lose resiliency, like Java or C. That's when a shiny new language like Python would come along. But with Python's governance and community it seems performance issues (Mojo) and developer experience (PEPs) are still improving. Python seems to still have sticking power.

Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?

#7
These things take time. Do you expect such a new language to be adopted by 90% of developers?

Elixir 1.0 was released 9 years ago. Most people use C, Python, Java which have been around for 30+ years. I use Elixir full time but I know I'm on the bleeding edge compared to the vast majority of developers, let alone corporations which operate and change over longer timescales, and Elixir is a major paradigm shift compared to pretty much any other language. A C shop might plan to move to Rust, but Elixir is a completely another universe.

A much more interesting question is why didn't Erlang get much of a foothold in the industry. The fact that you are asking this question today means that Elixir has been instrumental in putting Erlang/OTP in the conversation, so its usage might finally start to grow thanks to a simpler syntax, healthier ecosystem and, most importantly, a lot of commercial interest.

Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?

#8
post #4

I made a fair amount of money with Phoenix and Elixir and I like them. My take is that what's hindering their further expansion to mainstream are: Elixir is not curly braced and it's not object oriented. Those two alone make a big difference in familiarity. The vast majority of developers are using curly braced OO languages and it takes less effort to learn another one. I was coming mostly from Ruby and Elixir was de…

Ironical how, this is a core tenant of erlang allowing for supervised processes with state.

Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?

#9
post #6

The trend right now is AI, which is mostly written in Python. Most people want to write their whole stack in 1 language, whenever possible. So people just default to Python servers and React clients. There is tooling like Carton being developed to work around this, but the gravity is always towards monolanguage stacks. In the past the incumbent would get stiff and lose resiliency, like Java or C. That's when a shiny…

> That's when a shiny new language like Python would come along

Python is one of the oldest languages that is still in active use, predating Java.

Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?

#10

I worked with a team that was convinced of the superiority of elixir/erlang over ruby/rails in our ecosystem. It can accept thousands of simultaneous connections, etc. But the devil is in the details. If those connections include queries to a database then it's just a slow and clunky as every other front end framework and the learning curve is pretty damn steep. So overall the lack of integration with existing toolin…

Elixir is like a magic potion for network-bound applications, but most people aren't working on network-bound problems. It still has the elegance and consistency when you're writing a regular application. You just have to know the basics of functional programming to grok the program flow.
Post reply on HN