(no title)
japhib | 3 months ago
It has basically all of the stuff about functional programming that makes it easier to reason about your code & get work done - immutability, pattern matching, actors, etc. But without monads or a complicated type system that would give it a higher barrier to entry. And of course it's built on top of the Erlang BEAM runtime, which has a great track record as a foundation for backend systems. It doesn't have static typing, although the type system is a lot stronger than most other dynamic languages like JS or Python, and the language devs are currently adding gradual type checking into the compiler.
BenGosub|3 months ago
schonfinkel|3 months ago
"Type Providers" are an example of such negligence btw, it's something from the early 2010's that never got popular even though some of its ideas (Typed SQL that can generate compile-time errors) are getting traction now in other ecosystems (like Rust's SQLx).
My team used SQL Providers in a actual production system, combined with Fable (to leverage F# on the front end) and people always commented how our demos had literally 0 bugs, maybe it was too productive for our own good.
DrewADesign|3 months ago
cardanome|3 months ago
I always wanted to learn Elixir but never had a project where it could show it strengths. Good old PHP works perfectly fine.
Also corporations like their devs to be easily replaceable which is easier with more mainstream languages, so it is always hard for "newer" languages to gain traction. That said I am totally rooting for Elixir.
lenkite|3 months ago
pluralmonad|3 months ago
skybrian|3 months ago
vvpan|3 months ago
bsder|3 months ago
Talk about "immutable by default". Talk about "strong typing". Talk about "encapsulating side effects". Talk about "race free programming".
Those are the things that programmers currently care about. A lot of current Rust programmers are people who came there almost exclusively for "strong typing".
zaphar|3 months ago
BenGosub|3 months ago
belter|3 months ago
In 2025, Elixir is a beautiful system for a niche that infrastructure has already abstracted away.
jimbokun|3 months ago
Do you mean Kubernetes?
My mental model of Erlang and Elixir is programming languages where the qualities of k8s are pushed into the language itself. On the one hand this restricts you to those two languages (or other ports to BEAM), on the other hand it allows you to get the kinds of fall over, scaling, and robustness of k8s at a much more responsive and granular level.
creata|3 months ago
That's like complaining that unsafe{} breaks Rust's safety guarantees. It's true in some sense, but the breakage is in a smaller and more easily tested place.
jlouis|3 months ago
The throughput loss stems from a design which require excessive communication. But such a design will always be slow, no matter your execution model. Modern CPUs simply don't cope well if cores need to send data between them. Neither does a GPU.
unknown|3 months ago
[deleted]
timeon|3 months ago
phplovesong|3 months ago
cultofmetatron|3 months ago
cyberpunk|3 months ago
nitros|3 months ago
Data is immutable and thats much more important than whether local variables can be modified imo.
debugnik|3 months ago
int_19h|3 months ago