HACKER Q&A
📣 linkdd

Is Elixir Still Relevant?


Few years ago, I was developing in Erlang and a bit in Elixir. That was very enjoyable, because the features of those languages (and especially the OTP framework) makes many things way easier.

I've been looking back at Elixir for a few weeks for one of my project, and I'm worried.

95% of the libraries I would need have not seen any commit since a few years. What's more frightening is that most libraries listed on awesome-elixir[1] seems to be unmaintained too. Almost like the Elixir community died 5 years ago (which I do not believe).

Is this normal? Would you trust a seemingly unmaintained library? If not, would you implement all of that work from scratch?

[1] - https://github.com/h4cc/awesome-elixir


  👤 bigbassroller Accepted Answer ✓
I have wondered this too. I think it is still relevant, but very niche. Many companies are using Elixir and striving against their competitors, see Mux. IMO the reason libraries aren’t updated often is because Elixir is a completed language with no breaking updates planned [0], so libraries can be created and not need constant breaking updates. Also, you can do many things without using libraries because of Elixir’s and Erlang’s standard libraries and features. As an Elixir developer, I never go to Awesome Elixir to search for libraries. Its recommended to first look at Elixir docs, Erlang docs, Hex package manager or if still no solution found or have questions go to the Elixir Forum or Stackoverflow.

[0]: https://youtu.be/oUZC1s1N42Q

PS: Elixir is f’n awesome!


👤 juhatl
My hunch echoes that of other commenters here. That is, it seems like many core libraries have been quite steady and "complete" for a while now, and many people are just using them today to get work done. That isn't to say the language ecosystem would have stagnated, however.

One interesting piece of data comes from Elixirforum.com, arguably the central hub for the Elixir community. In their recent MOTY update [1], they announced that "..to give you an idea of how far we’ve come and how fast Elixir has been growing, in the forum’s first year we served just over 1M pages for the entire year, now, we’re serving a million a month".

The official Elixir language site has also been steadily accumulating more and more case studies [2], which one might consider as sign of health in terms of Elixir being used in the industry. Obviously it's only the success stories being told, though.

Recent news regarding Nx [3], Livebook and Axon suggest there are new doors being opened for Elixir as a language in the AI/ML space. This expands what the language can be used for, and as such, could be considered as another sign of health and vibrancy in the ecosystem.

Looking at something like GitHut [4], it seems like Elixir has maintained a steady position on its rankings in terms of pull requests. This suggests that usage of the language hasn't declined in the recent past.

Lastly, the 10-year Dashbit blog post [5] by José might highlight some other development. While "development" is not synonymous with "health", I feel like the contents can suggest lack of death :)

[1] - https://elixirforum.com/t/2020-motys-and-our-5th-birthday-up... [2] - https://elixir-lang.org/cases.html [3] - https://dashbit.co/blog/nx-numerical-elixir-is-now-publicly-... [4] - https://madnight.github.io/githut/#/pull_requests/2020/4 [5] - https://dashbit.co/blog/ten-years-ish-of-elixir


👤 uberman
I guess it could be argued that maybe Go, Rust, Crystal, or Nim have taken the wind out of the Elixir sails. I personally feel that Elixir is wicked.

Lack of project updates does not necessarily alarm me. I guess it would be a potential yellow flag rather than a disqualification. If it was possible to review bug submissions that might tell me more of a complete picture.

If something works correctly, it does not necessarily need to be always updated to include new features for features sake.


👤 linkdd
FWIW, a possible solution would be to build a small go/rust/whatever binary reading JSON from stdin and writing JSON to stdout.

Then call this binary from Elixir with "System.cmd". A bit like a microservice without the network layer in between.

This solves the critical (unmaintained) dependency problem by shifting the concern to another language.


👤 awful_waffle
I have been working with the PETAL stack and it is incredible. I love Elixir and have only picked it up over the past year or two. There has been a noticeable increase in recruiters reaching out to me about Elixir jobs lately, too.

I think Elixir should be a lot bigger than it is. I have not had an issue or encounter with unmaintained libraries.


👤 brudgers
Erlang is the well maintained OTP language on Beam. Elixir being newbie friendly tends to generate first blushes of excitement...I mean “awesome erlang” is approximately OTP and the standard libraries. Nobody is trying to become famous with it. The idea is to avoid churn instead.

👤 akagusu
I don't use Elixir but I can tell you it is still relevant despite the lack of popularity on Github or any other mainstream channel like HN.

Large fintechs, telcos, pharma and food corps use it.

Maybe it's not relevant on Silicon Valley and the Startup World, bbut outside it is.


👤 readonthegoapp
i just started going thru some elixir/phoenix tutorials and it looks esoteric and interesting.

i hadn't really considered whether or not it was an 'alive' ecosystem because i was not considering building anything real with it/them.

but i did have a thought -- let's say Erlang/Elixir -- it's super-duper great, in part or mostly, because it has some insane parallelism/comm/microservices/threading/etc. model.

could we not just 'bolt on' a new language?

so, typescript 'transpiles down' to javascript/ecmascript/something.

scala runs on the java jvm.

can java run on the erlang jvm? or python?

maybe create a typescript-for-erlang?

maybe it already exists and it's called go/rust/etc.


👤 joelbluminator
I think it's hard to get a straight answer to your question. People who are heavily invested in Elixir will tell you everything is fine and use esoteric metrics to prove their case. Follow your hunch and common sense.

👤 runawaybottle
It’s not a resume builder. Your interest is the only thing that matters here.

For example, I could care less about Typescript but that is part of resume driven development.

Elixir is not part of that at the moment.