Dabbling in Erlang, part 2: A minimal introduction (2013)

Old-school coding lesson sparks big ‘does anyone still use this?’ debate

TLDR: The article is a beginner-friendly lesson on Erlang’s strict, rule-based way of writing programs. But the community instantly turned it into a relevance debate, with the big question being whether anyone still picks Erlang for brand-new projects at all.

A quiet 2013 blog post about learning Erlang — a programming language famous for powering reliable phone systems and messaging back ends — somehow turns into a mini comment-section identity crisis. The post itself is basically a gentle lesson in a very strict style of coding: once you give something a value, you can’t change it, and instead of piles of if-this-then-that checks, you can write neat little rules that match what you typed. In plain English, it’s a tutorial about making code shorter, cleaner, and a lot less chaotic.

But the real action is in the community mood. One commenter instantly swerved away from the lesson and straight into the existential question: does anyone even start new projects in Erlang anymore? That’s the hot take hanging over the whole thing. It’s not “wow, cool trick,” it’s more like, “nice lesson, but is this a museum tour?” And honestly, that vibe says everything. The drama here isn’t a flame war — it’s the icy, devastating kind of doubt that lands harder because it’s so simple.

There’s also an unintentional comedy to the post’s examples: type the wrong thing and Erlang basically slaps your hand with an error. That gives the whole language a strict-schoolteacher energy the crowd loves to side-eye. The subtext of the discussion is deliciously blunt: beautiful ideas, tiny spotlight. Fans see elegance; skeptics see a ghost town. And that tension is the whole show.

Key Points

  • The article explains that Erlang variables are single-assignment: once bound, they cannot be changed.
  • Erlang’s `=` operator is presented as a pattern-matching operator rather than conventional assignment.
  • Pattern matching can destructure complex data structures such as tuples and bind unbound variables when matches succeed.
  • The article shows that idiomatic Erlang often places pattern matching in function heads, defining a function as multiple clauses instead of relying on `case` or `if`.
  • A single Erlang function can handle different input shapes, such as `{circle, Radius}` and `{square, Side}`, through multiple pattern-matched clauses.

Hottest takes

"Is Erlang (not Elixir) used for new projects anymore?" — csto12
"I never see new repos showing up here" — csto12
"using Erlang in open source" — csto12
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.