Elm and Ruby aren't so different

Developers seem to like arguing about statically typed versus dynamically typed languages.

But I like Elm for a lot of the same reasons I like Ruby.

Here’s why they aren’t so different:

🥰 Happiness is a value

Elm is “a delightful language” in much the same way that Ruby is “optimized for programmer happiness”.

Ruby makes developers happy with its natural and expressive syntax.

Elm’s clear and simple design makes understanding and refactoring programs easy.

❤️ Kind leadership

The Ruby community says “Matz is nice and so we are nice” to describe Matz, the creator of Ruby.

I can’t help but compare Evan Czaplicki’s similar qualities, expressed in his conference talks, the Elm guide, and even the friendly error messages from the compiler!

🛤 Familiar conventions

The culture of “the Ruby Way”, and “convention over configuration” helps Ruby devs communicate.

Elm shares these values through “The Elm Architecture”, and by discouraging complicated solutions through the language’s design.

🎨 Design culture

Ruby and Elm devs both want to make tools that are useful and beautiful.

Rubyists craft expressive DSLs that read naturally.

Elm devs design modules that are simple, clear, and unmistakable in their intent.

🪨 Reliability

Ruby and Elm devs both want open-source code to be reliable—they just go about it differently.

Ruby devs rely on test coverage and TDD to ensure their work is reliable.

Elm devs use the precision of the type system to make certain errors impossible to produce.

Interested in Elm? Take a look at these resources for getting started:

This post was originally a Twitter thread as part of Ship 30 for 30.