I don't understand the reasoning? I've been working on an MMORPG game since quitting my job - and I settled on using Elixir for this project despite never using it before. I have a good understanding of distributed systems, and the features/tooling Erlang & Elixir provided were like a dream for me. Initially I thought I'd just try making some proof of concept thing. Fast forward several months later, and I seriously credit Elixir for how far I've gotten with this game. Most of my time is spent writing server-side gameplay code, not tracking down obscure networking & memory bugs. Its even caught cascading bugs caused by gameplay system interactions - when players and a.i were being (wrongly) resurrected from the dead the system just crashed! When 500 a.i agents doing pathfinding every single tick was starting to make the a.i system lag and delay inputs - it was trivial to understand the bottleneck causing the system to degrade. I can go on and on.
Erlang/OTP is the nicest environment for building applications that I've ever experienced. I agree though that it's not popular and I've never actually been paid to use it, with the exception of some small projects that were completely under my control.
I disagree, and I think this sentiment is due to a failure in messaging from the Elixir core team and community which is a shame. There is a huge focus on LiveView (which is fantastic) in the Elixir community, but Elixir is so much more than LiveView! Even just writing a simple rest API (or GraphQL through Absinthe) is a great experience, due to libraries like Phoenix and Ecto. It's a joy to work with, even if you aren't writing a distrubuted/realtime system.
I wish there was more of an embrace in the broader ecosystem rather than the focus on LiveView.
Shouldn't be a hard sell to developers. According to this year's StackOverflow survey, Phoenix is by far the most admired web framework (10% above the second most popular). Elixir is the second most admired language, behind Rust.
The questions in that survey are poorly worded so as to make the results ambiguous, since they confound 1) languages in which X person has worked with in the past year, with 2) languages in which X person would like to work on next year. These express two very different concepts: 1) popularity in the workplace, 2) developers' personal preferences. (Neither of them have to do with the most "admired".
I agree. However, the reasoning behind that hard sell has less to do with actual technical considerations and more to do, I believe, with a combination of long held assumptions (not always right assumptions) about what Erlang is and the fact other other stacks have become entrenched and are good enough in the ways that are easiest to assess that Erlang/Elixir would be a tough sell. Add to that recruiting talent to work with Erlang/Elixir requires some outside the box thinking in HR hiring practices (something I rarely accuse HR departments of) and you have a tough sell.
This is all unfortunate. I do think the BEAM based stacks are underrated for applications outside of communications. Many of the same traits of resilience and resource utilization designed to facilitate communications systems actually apply to web apps and APIs, too. Elixir is very expressive and a good fit for writing business applications like accounting related software (what I'm currently working on). But... you have to think you can arbitrage those operational advantages into an overall competitive advantage... and that's a tough sell especially because it involves a lot of speculation which doesn't play out until you're getting to the end of a project.
I disagree entirely. Having written everything form little tools for my own use to entire linux based firmware for small embedded machines, Erlang and Elixir are powerful tools. I genuinely find Elixir fun to write in a way no other language manages to match.
That's because its inspiration was to create a language with the power of Erlang but that was as enjoyable to code in as Ruby (many people's "most fun to code in" language if they've actually worked with it; unfortunately it can't compete with Python's ecosystem).
Erlang and Elixir have a pretty good interop with Python through Erlport. It's not a deep language-level integration (as in, inheriting modules from Python classes or something like that), but it implements a binary message format Erlang nodes use to communicate and offers an API for IPC with Python on top of that. It's not for all use cases, but I had great success deploying a fleet of Raspberries for home automation using nothing but Ansible, Elixir, and Python. Elixir would handle distribution and manage messaging between nodes and local Python processes, while Python scripts would control peripherals. I stopped developing it since I moved to a smaller place, but I firmly believe Elixir+Python is a great solution for anything distributed that would benefit from the Python ecosystem.
But Erlang and by extension Elixir are a hard sell unless you are writing a system like Whatsapp.