AstonJ

AstonJ

Elixir influences on JavaScript ES2025

Phil just posted this on EFS:

…interesting that some of the key updates to JavaScript appear heavily influenced by (or blatantly copied from) Elixir

Here are some blog posts about it:

https://medium.com/@alexdev82/whats-new-in-javascript-es2025-f9e99d04f45c

Most Liked

Schultzer

Schultzer

I have to this day never seen anything remotly resembling pattern matching to what we have on the BEAM, it’s a misnomer to call it pattern matching in Rust with the perspective of the BEAM.

tfwright

tfwright

I have to strongly disagree here. Of course readability increases with familiarity but that doesn’t mean there isn’t significant variation in baselines. The difference is quite clear between languages that value clean, communicative apis and those that don’t, just as there is between frameworks, and code bases.

And I have had the opposite experience, of developers shutting their ears to criticism around readability/clarity because in their view only “objective” metrics like performance, or LOC, etc, matter when assessing code quality.

edit Also should say I think the point that languages having their own domains makes direct comparisons problematic, is absolutely valid, but even, or rather especially those cases illustrate the power of readability. Like many newcomers to Elixir I started with little to no knowledge of parallel computing, and although of course this made the OTP stuff more opaque than, say, the Enum module, the care put into expressing the problem the clear consistent way made it a lot easier to gain that familiarity.

sodapopcan

sodapopcan

As much as I love it, in my experience aesthetics have been taken to extremes in Elixir in code I’ve had to work to the point where it makes me sad. The biggest (but not only) culprit would be the pipe operator, so I don’t really blame folks from other languages for being extremely skeptical.

garrison

garrison

Exactly. This is why I dislike code formatters; the practical value is clear (“avoid syntax bikeshedding on teams”), but the cultural cost is enormous. To format your code is to give in to the idea that writing code is a mindless, industrial activity with no affordance for artistic merit.

One thing I appreciate about LLMs is that they provide great clarity here: if you think about code this way, why are you writing code at all? Anyone with this mentality is about to be displaced.

The thing is, you have to factor out the skill issue.

Take the common dichotomy of “Clean Code” (that’s a proper noun) versus “Data-oriented Design”. This is often framed as a matter of aesthetics, where the former group prefers “beautiful” code and the latter is somehow sacrificing that for performance. But in reality the loudest voices on the DoD side are indie game developers, i.e. a group with more artistic integrity and merit than basically anyone else writing software. Naturally these are people who are going to care deeply about performance and beauty because that’s what it takes.

The difference between the “Clean Code” and DoD people is that, broadly speaking, the latter group understands how computers work and the former does not. This is not a matter of artistic merit but rather a pure skill difference. I mean, just look at the demoscene; who has more artistic merit or skill than that?

Someone who writes code that does not work well, regardless of how it looks, is simply not a good programmer.

Schultzer

Schultzer

Lol, I was not arguing for anything to be more readable than the other. Quite the opposite. It was a jab at the whole notion around readability in general.

Where Next?

Popular in Discussions Top

heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
bartblast
StackOverflow Survey results for 2025 have been published: Gleam - 2nd most admired language Elixir - 3rd most admired language Phoenix...
New
dimitarvp
Hello, I am looking to more closely understand the advantages of the Repo.transact pattern and the quoted disadvantages of Ecto.Multi. ...
New
BigTom
With Phoenix, Liveview, Ash, Oban Web, Nx, Livebook, Beacon, Liveview Native, Flame, Nerves etc all getting mature, are there any major g...
New
sym_num
I created a Forth processor in Elixir. This is my hobby project. https://github.com/sasagawa888/Forth
New
puemos
I’m working on a platform that allows users to add apps and use them in a writing assistant browser extension (https://anycursor.com). C...
New
darkmarmot
At HCA Healthcare (500k employees and contractors), we’re currently experimenting with Elixir for both data integration (to handle parsin...
New
isaacsanders
When I try to run my applications and I haven’t updated the dependencies, the output tells me to run mix deps.get. Why doesn’t the binar...
New
ScriptyScott
Hey Folks, I just spent the last couple of days doing a deep dive into using Swoosh with Amazon’s simple email service, check out this t...
New
PragTob
:wave: I’m currently extracting the statistics calculation part from benchee and stumbled upon how to present error conditions. In the c...
New

Other popular topics Top

yawaramin
In the Dialyzer docs ( http://erlang.org/doc/man/dialyzer.html#requesting-or-suppressing-warnings-in-source-files ), there is a way to tu...
New
malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
Jim
As a follow up to my earlier question: I have the code compiling and running but not getting a successful login from the rest server. ...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
273 38985 115
New

We're in Beta

About us Mission Statement