lawik

lawik

Nerves Core Team

Elixir is not owned by Big Tech

We all have varying degrees of exposure to Big Tech. Some of it seems fine, stable and can be relied on. Some of it feels like shifting sand under your feet. React seems to move a lot on whims, I don’t envy tracking that. Go seems like it might be fairly stable? With the current geo-political climate I don’t find massive corporations to be a guarantee for stability. People may be getting fired even though they chose IBM. The world is wild right now.

Most Liked

jhogberg

jhogberg

Erlang Core Team

Quite often it simply boils down to “$TRENDY_COMPANY uses $THING. $TRENDY_COMPANY is successful. I want to be successful. Therefore I will use $THING.”

There’s plenty of examples of this at large, and it’s a powerful effect that cannot be ignored. Many if not most technologies are successful in spite of their shortcomings, not because of their technical merits [1], simply because a trendy and large enough backer pushed for it.

I’d like to expand a bit on this; it’s not so much that we cannot do these things. Of course we could implement time-based scheduling powered by signals/timers, and have actually done so in various flavors over the years without publishing it. We experiment with far more things than people realize.

The problem is that these clever solutions are, more often than not, not very maintainable. There are just a handful people working on the runtime system right now, and we simply don’t have the bandwidth for complicated solutions. Whatever we implement must be maintainable by everyone else on the team with minimal time to switch, and preferably also the community at large.


  1. JSON probably being the worst offender judging by how popular it is despite having no redeeming qualities whatsoever. “Human-readable” does not count because you’re going to be examining it through a program anyway, it’s not like you can decipher it by looking at your SSD/wire with a magnifying glass. ↩︎

regex.sh

regex.sh

Damn those Erlang people, always ready to let it crash /s

sodapopcan

sodapopcan

Oh! Off topic but this is me working from my couch today:

Was gonna say that it arrived and forgot (it’s been a month or so at this point).

EDIT: Despite my gaff in my previous post of linking HN when I shouldn’t have, I neglected to link in this one when I should have. Get @lawik’s shirts here.

Gonza

Gonza

Every time I think of Elixir it feels so surreal, because even though it’s one of the “smaller” langs, it has such a good level of pretty much everything. You’ll usually find one clearly dominant option for every niche, and it’s not just good enough, it’s actually world-class. Frameworks for web, embedded, machine learning, domain modelling, data processing, stuff that is not even a thing in most mainstream languages, like Ash or Broadway for example. Frankly, I don’t think Elixir having a small community or not being backed by Big Tech is a bad thing. You guys are more than enough.

AstonJ

AstonJ

Great blog post Lars! A similar sentiment has definitely been echoed on places like this forum over the last decade; that one of the reasons we love Elixir and Phoenix (and many other projects, like Nerves, Nx, Membrane, Elixir Desktop, Scenic, Ash, Hologram, ECSx, etc) is because they don’t belong or are controlled by a giant corporation (and perhaps especially, one that has shown it cannot be trusted).

I think this kind of support (one based on a more personal level) results in a certain kind of robustness, because as you note, their direction isn’t dictated by the whims of companies whose primary aim is to make as much money as possible - something that often conflicts with the fundamental ideals and essence of what we think of as community.

Btw, some other interesting things that might be noteworthy:

  • As far as I am aware, Plataformatec was set up by a group of friends (we have at least two other co-founders here on the forum besides José: @hugobarauna and @georgeguimaraes). So in the scale of sole trader > family business > SME, you could say that it might fall in-between a family business and SME.

  • Many people are grateful that Erlang is backed by Ericsson and not one of the FAANG or FAANG-like tech giants. Ericsson appears to be much more corporately responsible than others (many people have worked for them for decades - this is usually a good sign as well). I actually shared this story on the Erlang Forums a little while back but I actually met a CEO of Ericsson many years ago. He was sitting at the back of the plane (so not in first/business class) and one of the crew said he does so because he does not like to waste shareholder money, and that the back of the aeroplane is actually the safest in the event of a crash. So not only was he saving his company money but he was smart too! This may seem like a small thing but this sort of thing reflects (and often influences) company culture - which is usually instilled from the top down.

Out of all the languages that were similarly hyped around the same time as Elixir (including Elm, Crystal, Rust and Go (tho Go and Rust are older at around 18 years old now) Elixir is the only one that took off that wasn’t backed by a giant.

I fear it might become more difficult for newer languages to take off moving forward, and it remains to be seen whether AI may help, or hinder things for them.

I think it’s a shame actually that Crystal hasn’t taken off in a similar way yet - imagine if we could write nifs in Crystal instead of having to learn something like Rust - Crystal is inspired by Ruby too (their slogan used to be: Fast as C, Slick as Ruby). (I wonder if we as a community could help or help make that possible.)

Elixir is testament to the power of genuine community - well done everyone :023:

Where Next?

Popular in Blog Posts Top

ErlangSolutions
An infographic that compares Erlang, Elixir, and Go's strengths in the respect to the programming languages' concurrency, reliability, sc...
New
paulanthonywilson
I had a bit of a mini-adventure following Sobelow’s advice on adding a CSP to a Phoenix App. If you want to follow along, or want to add ...
New
New
brainlid
Jason Stiebs shows a couple ways for a LiveView to make it easy for users to click and copy an important value to their clipboard. He sho...
New
brainlid
Phoenix LiveView v0.20.4 offers a hidden gem with its handy little JS.toggle_class/1 feature. This addition simplifies toggling classes f...
New
RudManusachi
Hi there! Recently I was playing around with extracting and updating data in the DB and for fun challenged myself to try to implement a ...
New
StuntProgrammer
Hey there! This is the first article in what I hope will be a nice series about how I built (and am building) Lofi Limo. If you have any ...
New
stryrckt
Support for AlpineJS in LiveView was added in 0.13.3 and it works fabulously. I just wrote a blog article about it and plan another one s...
New
ragamuf
Does the world need another How to create a blog article? Maybe not. But then again, creating something out of nothing is what we love....
New
New

Other popular topics Top

fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
JDanielMartinez
Hi! May someone helps me, please! I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
JakeBecker
TL;DR: I’ve just released an implementation of Microsoft’s IDE-independent Language Server Protocol for Elixir. It adds language support ...
1140 51847 244
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
Tee
can someone please explain to me how Enum.reduce works with maps
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
AstonJ
You’re a programmer, so you don’t need spoon feeding with the conventional drivel about “this is an integer.” No. You need to know what’s...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
mgjohns61585
Could someone help me? I'm making my first elixir program, number guessing game. I can't figure out how to convert the user's guess from ...
New

We're in Beta

About us Mission Statement