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?
91–100 of 130 posts
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#92Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#93Do we have a serious contender for ActiveAdmin in Elixir yet?
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#94These 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…
JavaScript, Python, and Ruby are all counter-examples. Erlang and Haskell might as well.
I don't think time plays such an important factor. A language may exist for 20 years and then a large corporation or an all encompassing framework draws attention to it, leading to unforeseen growth.
> In other words, if you're not at 5% market share by age 10, chances are low you'll ever reach 10%.
This won't happen for 99% of programming languages and it shouldn't be a goal or even a comparison point. For example, on GitHub language stats [1], only three languages have more than 10% activity, only 7 within 5% activity. Pick other rankings, market share related or not, and you will find similar numbers. Tiobe lists SQL, Go, and PHP all below 2% and I don't think anyone could argue they failed at market success.
> 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.
Given all of the above, I strongly disagree. Getting to 1% is incredibly hard.
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#95Earlier quoted context omitted.
The discussion is why isn’t it more mainstream not is it good. Like you said it’s mostly senior expensive engineers. They are really good, but is it worth it? Do 90% of startups need it? I have had success hiring younger inquiring Elixir engineers also, but the question is about why isn’t it mainstream not how to find a diamond in the rough. If you are running a company today the fact of the matter is Elixir a a exec…
Really appreciate your focus on economic reasons. That indeed makes a lot of sense. I guess the gamble to use Elixir/Phoenix only pays off in certain circumstances and if your business grows in such a way that you can simply afford to hire more expensive devs in later stages of the journey.
I'm not advocating always pick something with the lowest $/hour rate. There are a lot of other choices out there that are not going to have risks around technology choice.
Long term maintenance is a concern too, not of Elixir, of the apps built with it. When that app goes into a maintenance mode (still providing value just doesn't need new/active development) the devs will likely move on to other work/companies. Now to do support work you have a small+expensive talent pool that doesn't likely want to do support work.
If you're a fan of Elixir, don't take this as me saying "no", I really like the things I learned (and continue to learn) working with it. Its just trade-offs that mostly are on managements shoulders. The developers advocating for it take no risks really.
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#96I have been a big advocate for Elixir for 5 years before switching off. My 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 la…
I mean, Elixir is definitely not a replacement for Rust. I imagine it as being closer to Node, Python, or possibly Java. And even then, it's a wild comparison, because of the way Actor Model concurrency is weaved into BEAM languages, in a way that no other language does. For perf optimisations, you have Ports or NIFs (irc), where Ports are just knowingly volatile processes, and NIFs are FFIs, which is an almost unive…
IMO, that's a misconception. They work at different levels and I wrote a more in-depth explanation here: https://dashbit.co/blog/kubernetes-and-the-erlang-vm-orchest...
Although I agree the sentiment plays a role on adoption, because many ask "why Elixir when I have k8s", while in practice, if you like k8s, you should enjoy Erlang/Elixir. They apply similar principles at different scales.
So I don't think we could have made a dent on k8s, but rather, we should have positioned ourselves earlier within k8s strengths. :)
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#97Earlier quoted context omitted.
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…
Just losing the while loop was a big one for me. I miss it often. I know the cost of calling something recursively. It's never going to be as cheep as a while loop.
But I don't remember using while loops all that much (for loops/iterators, yes, but not while loops) in other languages.
I think I had a tougher time with the immutable stuff than anything else. I'd love to just update a map 3 levels down by saying thing.other.stuff = "new value" sometimes, but you can't. But overall it's nice to work with immutable structures.
Instead I either do a deep merge or use put_in(map, ["thing", "other", "stuff"]) but that doesn't always work as I expect.
If other elixir devs can set the record straight, I'd appreciate it :)
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#98Earlier quoted context omitted.
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…
I qualified it with the "really cool and interesting parts of elixir". While being a beautiful programming language I don't think anyone thinks elixir is cool because you can use it to build rest api servers :) I'd be curious to hear more about how elixir makes running a cluster easier from a devops point of view. At the end of the day you probably still want to use something like kubernetes right?
But the idea that you can just call Module.func(), and not care WHICH node it runs in, right out of the box, is quite nice.
I would wager though that 90% of elixir/phoenix devs just aren't doing any of that most of the time, instead just using it like a more performant Ruby on Rails, with ecto being awesome too. :)
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#99Earlier quoted context omitted.
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…
> it is rare that a language doubles its market share (assuming it's not in the vicinity of zero) after its first decade JavaScript, Python, and Ruby are all counter-examples. Erlang and Haskell might as well. I don't think time plays such an important factor. A language may exist for 20 years and then a large corporation or an all encompassing framework draws attention to it, leading to unforeseen growth. > In other…
I would say that only Python is a counterexample, and possibly Ruby although its super-success wasn't long-lasting. Erlang and Haskell have been hovering at under 1% for several decades.
> For example, on GitHub language stats [1], only three languages have more than 10%
I meant 10% as a symbol. Languages very rarely double their market share after a decade (unless they're hovering around zero, in which case they're in the noise anyway), and almost never after 15 years.
Actual market shares numbers are probably best captured here: https://www.devjobsscanner.com/blog/top-8-most-demanded-prog...
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#100Earlier quoted context omitted.
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…
> it is rare that a language doubles its market share (assuming it's not in the vicinity of zero) after its first decade JavaScript, Python, and Ruby are all counter-examples. Erlang and Haskell might as well. I don't think time plays such an important factor. A language may exist for 20 years and then a large corporation or an all encompassing framework draws attention to it, leading to unforeseen growth. > In other…