Hacker News new | ask | show | jobs
by michaelteter 989 days ago
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 something better. And since it definitely requires a paradigm shift in thinking (OOP->Functional), that puts it essentially behind a fence for many people. Why climb over the fence if Python is "good enough".

Elixir also has a great story with BEAM and all the amazing capabilities it offers, but those are capabilities that would be desired and exercised by experienced developers.

Ultimately it's a matter of mindshare. Search for programming examples for just about any topic, and you're going to get a flood of Python or JavaScript results. Maybe Java too. This is especially true since some of the programmer-mills appear to require students to regularly post blogs with trivial or lightweight essays and examples in the aforementioned languages.

The people who use real power tools are usually busy doing real things, so they generate less web fluff about their tools.

2 comments

The "search for something better" is what drew me to Elixir and Phoenix. I started learning it in my spare time a few months ago. I've been doing web development, in some form, since the 90's (starting with Perl CGI scripts.) I've grown totally tired of the traditional approaches to web app development, especially over the past 10 years as JS frameworks took over, and wanted something different. The runtime (BEAM, Erlang, actors/message passing, distribution/clustering) is obviously a strong plus. Anything that gets Javascript out of the way is preferable.
What you'll find though is that FE teams don't care what you're running the api through. And they won't know how to capitalise on the BEAM. They will send you larger and larger requests, and as nice as BEAM works, the bottle neck will aways be the database.

I've seen 8 years of Elixir, and still get asked to return the world when FE wants data. No they won't ask for bits.. They want the user info and the company info for the user, and the client list for the user, and the company details from the client list for the user.. and they want it all in one response. BEAM becomes a useful tool you'll never reach for.

I hear ya. I'm mainly looking at it for smaller projects (micro-SaaS, 2-to-3 people sorta stuff), not anything with a large team.
Since I’m coming from the FE side - that’s exactly what is bothering me. I feel like Remix is a good step into the right direction, baking a backend-ish part of the stack into the FE. And crossing the networking gap in an elegant way. I see the same in Phoenix. Well, I guess I’ll fiddle with it for a bit and see if I can even handle the stack at all.
I'd argue that one of the strongest points of Elixir is that it makes really hard for juniors to shoot themselves in the foot, as well as being very simple to understand (very "imperative" overall)