📎 Webclip
Elixir obsoletes Ruby, Erlang and Clojure in one go
The author says Elixir brings together the best parts of Ruby, Erlang, and Clojure in one language. He presents it as a practical functional language with a pleasant syntax, strong concurrency support, macros, and a developer experience aimed at programmer happiness.
Reading notes#
- The author describes himself as a long-time Ruby programmer, a former Clojure fan, and someone who tried Erlang briefly.
- He says those languages are now obsolete.
- He argues that Elixir supersedes them by combining their strongest characteristics.
- He says Elixir is designed for programmer happiness and borrows Ruby’s appeal.
- He claims Elixir is the first language since Ruby to care about code beauty and language, library, and ecosystem UX.
- He notes that José Valim, a recognized Ruby programmer, invented Elixir.
- He says real-time web and IoT create new infrastructure demands because servers must keep many permanent open connections.
- He states that Elixir scales better than Node.js and that it does not have Node.js’s problems.
- He explains that Elixir runs on BEAM, the Erlang VM, and uses the Actor Model as a clean concurrency abstraction.
- He says the Erlang VM allows full concurrency without awkward async IO.
- He says Elixir lets the programmer do synchronous IO and still frees the underlying OS thread for other VM processes.
- He describes Elixir as one of the most practical functional languages.
- He says it takes features from Clojure such as immutable data structures, optional lazy evaluation, protocols, and records or structs.
- He adds that Elixir has true tail call optimization and the pipeline operator.
- He says its syntax is modern and Ruby-like.
- He says Elixir is close to homoiconic and that everyday syntax is sugar over data structures.
- He says Elixir supports full macros known from Lisp and Clojure without parenthesis-heavy syntax.
- He concludes that Ruby still has an advantage in mature libraries, but that Elixir packages are growing quickly.
- He mentions Phoenix as a strong alternative to Rails.
- He says Clojure is only hard to justify unless JVM compatibility is required.
- He says Erlang is unnecessary because Elixir is an almost strict superset of Erlang’s offering.
- He concludes that Elixir obsoletes Ruby, Clojure, and Erlang together.
