In addition to what others have said... There are enough other acceptable languages+frameworks, and two of them (Python and JavaScript) are unfortunately just too visible and in the way. Students, junior developers, and developers from non-CS backgrounds start with what's "easy" and available and talked about (lots of published examples, guides, etc.) Elixir is for those who have experienced other langauges and seek…
Ask HN: Why isn't Phoenix/Elixir more mainstream?
21–30 of 130 posts
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#22All those scaling problems Mastodon admins complain about? 99% of wouldn't exist if they were using one of the Phoenix based fediverse apps instead of the Rails based one (mastodon). Sure, some of the larger instances would still have issues but most folks would get plenty of throughput on one average machine.
Erlang's a great language. Once you wrap your head around the fact that = is a "match" operator and not an assignment operator... ;)
My day job is as a back-end rails dev, but I was introduced to Phoenix by a couple of the most prominent folks in that community. It is my belief that Elixir and Phoenix are unquestionably a better choice than Rails for new work. The only reasons to use Rails instead are that ruby has a bigger ecosystem of libraries, and none of your staff knows Elixir. Alternately that you're a ruby dev who's just whipping out something quick and performance doesn't, and won't, matter.
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#23I 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…
But it's just like any other framework in that, if you want to write bad code, it won't stop you.
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#24These 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 compar…
I think it's common to see a mismatch between enthusiasm and market success in programming languages because programmer tastes vary widely, and are also not evenly distributed. Sometimes certain groups who are most enthusiastic about certain technical features of a language (and I would say those who are most enthusiastic about programming languages in general) find it hard to accept that their preferences are only shared by a minority.
Adding to the confusion is the fact that there is a numerically large (but proportionately very small) group of programming language enthusiasts that give some languages a big early boost, raising hopes, but then that pool is exhausted. So getting to 1% and generating hype is not as hard as showing stable and growth and getting a large community that sticks with you for over a decade.
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#25For a technology to become widely used it usually needs one or more of these factors when it is released: 1. A big company that adopted it in a major way or created it (Go, Java, React). 2. A very low barrier to entry (Go, node.js, Python). 3. A major leap in productivity compared to alternatives (Ruby+Rails, Python).
4. A critical mass of community packages and open source ecosystem so you don't re-invent the wheel for non core things (eg. Javascript, Python, Rails)
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#26I think a few things are happening. First, the language paradigm pendulum seems to be swinging back towards the middle. Second, and perhaps more impactful, Ruby on Rails is having a bit of a renaissance.
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#27Here is why I think it's not more mainstream 1. The really cool and differentiated aspects of elixir require specialized deployments. Cloud vendors are optimized for stateless horizontally scalable infrastructure not stateful infrastructure. 2. Elixir is a functional programming language and this means you cannot mutate variables. While I like many aspects of elixir, not being able to mutate state makes elixir unsuit…
I disagree with the "require" specialized deployments – we have hosted our elixir apps for years as stateless web apps, just like any other architecture. In fact, you can build a release that's just a zip file which also contains the full elixir/erlang runtimes, that can be deployed on a barebones server (assuming the same libc, etc). It's not "single-executable" nice like Go/Rust/.NET but it's much simpler than it u…
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#28These 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 compar…
With few exceptions, languages reach the ballpark of their all-time high relatively quickly, i.e. it is rare that a language doubles its market share (assuming it's not in the vicinity of zero) after its first decade and rarer still that it doubles it after 15 years (I think Python is the only exception to that). In other words, if you're not at 5% market share by age 10, chances are low you'll ever reach 10%. I thin…
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#29Rails and Python have a answer to the same issue, and more libraries available to them.
Also. (and I spend 90% of my time as a paid elixir dev). It's an ugly language that makes you roll your own on so much. Migrations require you change the schemas, and you have schema modules and access modules.
The elixir docs are a mess of assumptions and there's no consistency. The number of times I have to Enum.into(%{}) after doing something with a map. Oh.. And Enum.map returns a list which is not an array but is represented in the language as an array..
Also.. With many JS libs don't embrace the many small calls to get data, so the OTP/threading side of elixir (Which is awesome) is almost never called on. Bigger calls are favoured, and elixir isn't great at this (or well no better than rails)
On the whole, I'd say the benefits of using elixir are never realised, but the cost of using elixir is paid regardless.
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#30My takeaways: love José Valim and the team and the libs they produce. The team is always humble and helpful and produces high quality content in both code and documentation.
Why I stopped using Elixir: I was using Elixir obsessively as a performance chasing tool, but then it just didn’t fill the gap properly:
1. Python (or other massively used language) is preferred for large SaaS apps where performance doesn’t matter. As an engineering manager, I can go out and hire a huge team instantly for Python.
2. Rust is much faster and not super difficult. When I ran out of optimizations for Elixir I found myself dropping down to Rust. Then asked myself why even use Elixir?
With those two points, Elixir, like Haskell, changed my programming mindset immensely, but as a professional context, quite frankly you have to use what you can build a team with. Elixir has very few engineers to source from.