Live data from Hacker News

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

news.ycombinator.com

41–50 of 130 posts

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

#42
Single data point:

I spent a few hours following a couple of different (Phoenix) "getting started" guides earlier this year. Nether of them "got me started", but instead into a semi-installed broken state unable to progress without delving into other docs/stackoverflow/etc.

I am no longer in my twenties, I have no patience with that, I take it as a sign that the tech is still for enthusiasts only and I should take another look in a couple more years.

If I was being paid to learn it, I'd persevere, but I was simply curious so I'll wait for others to smooth off the rough edges.

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

#44
Pros:

1. Clear and readable code. Emphasis on pure data being passed around.

2. More minimalist. JavaScript stacks like T3 app (Next.js, TypeScript, tRPC, Prisma) feel like they're solving endless problems caused by other "solutions" in the stack. With Phoenix, you mostly write Elixir, some Ecto macros, sometimes JavaScript for edge cases.

3. Phoenix LiveView is amazingly intuitive

4. Way faster to prototype in, more time in "flow"

Cons:

1. Fewer UI components to pull from if you want to do something complex with the frontend

2. Not a big fan of Ecto macros

3. Have to figure things out yourself (usually read from docs or source code). Difficult for newcomers because of the lack of guides, but good for experienced devs

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

#45

Single data point: I spent a few hours following a couple of different (Phoenix) "getting started" guides earlier this year. Nether of them "got me started", but instead into a semi-installed broken state unable to progress without delving into other docs/stackoverflow/etc. I am no longer in my twenties, I have no patience with that, I take it as a sign that the tech is still for enthusiasts only and I should take an…

Curious what you got stuck on

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

#46
post #19

Here 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…

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?

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

#47
I agree with others that the Getting Started material isn’t great and documentation in general is a struggle sometimes. It’s also a “chicken and egg” problem: the smaller size of the community means sometimes community packages are not available or appear abandoned, which in turn scares off adopters.

Stepping back from all that though, what I will say is that Phoenix itself, LiveView, Erlang concepts like GenServer, the community’s willingness to help, and the language itself - all FANTASTIC.

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

#48
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…

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

As a consultant, startup founder, employee?

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

#49
Anecdotally, I think Elixir/Erlang are too difficult/esoteric compared to other languages. That makes it hard to come back to after not touching it for a while, which means it'll be incompatible with a lot of devs that use other languages. When I come back to Golang, I can pick it up almost immediately, so I often use it for personal projects. It also has great concurrency primitives, which is one of Elixir's biggest selling points.

Where does that leave Elixir then? It's too difficult to come back to easily, plus it's too different from other languages, and it _feels_ like it doesn't necessarily do anything better than Golang, even if it does (I know it does). This makes it hard to justify the cognitive overhead.

I also think Elixir is really refreshing as long as you stay within the bounds of what you can easily look up online. Once you step out of what’s readily available it becomes _immensely_ more difficult relative to other languages. Last I used it I was also frustrated with the amount of times I had to drop into some Erlang bits to use a library, and the Erlang things it keeps were also hard to wrap my head around (why are GenServers named Genservers? Name it literally anything else)

For all of those reasons I just haven't been able to go back to Elixir. Its model of programming is just too esoteric and different for me to be able to integrate it into my stack.

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

#50
post #32
post #24

Earlier 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…

IMHO there is a substantial distinction to be made, when running statistics, between languages that are effectively corporation-sponsored (Java, C#, JS, etc) and opensource "community" languages (Perl, Python, C, etc). The former tend to peak early, powered by marketing departments, and then slowly tail off; the latter tend to do the opposite, because word-of-mouth is slow; community-powered peaks are often determine…

Except C and Perl peaked relatively early, too, and so did PHP. Yes, Ruby was late but its super-popularity was short-lived. Python is really the only example I can think of, and even Python had a healthy usage relatively early.
Post reply on HN