# Erlang/OTP

193 Hacker News commenters recommended Erlang/OTP and 40 criticized it, November 2025 to November 2026. It was recommended in 12 of 13 months; owners who said how long report a median of 9 years (9 owners). It meets the Hacker Approved badge rule.

**Verdict:** Recommended for its built-in actor-model concurrency, fault tolerance and the batteries-included OTP library for distributed systems, though critics cite weak raw performance and odd syntax.

## Why people recommend it

- First-class share-nothing concurrency (7 comments): "Any sufficiently complicated concurrent program in another language contains an ad hoc informally-specified bug-ridden slow implementation of half of Erlang." ([source](https://news.ycombinator.com/item?id=47781093)) "If you're looking for a language that makes "sharing by communicating" the default for almost every kind of use case, that's Erlang." ([source](https://news.ycombinator.com/item?id=46053732)) "When you send a message in Erlang, nothing the recipient does with the message impacts anything on the sender side. That's good!" ([source](https://news.ycombinator.com/item?id=49708489))
- Fault tolerant and reliable (5 comments): "In terms of ops usability, it's difficult to beat reliability, availability, and serviceability (RAS) features of mainframes. Erlang/OTP comes close." ([source](https://news.ycombinator.com/item?id=46258509)) "The language has extremely robust recovery mechanisms, having been designed for flaky telecommunications infrastructure." ([source](https://news.ycombinator.com/item?id=47021265)) "the Erlang platform gives you so many guarantees that even if you somehow make a mistake, it is never catastrophic" ([source](https://news.ycombinator.com/item?id=48396071))
- Easy distributed, multi-node systems (5 comments): "if you want to learn distributed systems stuff, two Erlang BEAM processes on virtually any general purpose computer are more than enough" ([source](https://news.ycombinator.com/item?id=46736840)) "I have found the real value of Erlang to be internally between trusted nodes of my own physical infrastructure" ([source](https://news.ycombinator.com/item?id=45890399)) "If you really know you can't scale with just a big box from the outset use something like Elixir or Erlang" ([source](https://news.ycombinator.com/item?id=49506744))
- OTP features out of box (3 comments): "you are going to find it hard to get to the same level of feature completeness that Erlang offers out of the box" ([source](https://news.ycombinator.com/item?id=45887551)) "I was so annoyed when I found out the OTP library and realized we've been reinventing things for 20+ years" ([source](https://news.ycombinator.com/item?id=46047832)) "doing powerful things in Erlang/Elixir is trivial where it would be really convoluted in other languages" ([source](https://news.ycombinator.com/item?id=45893075))

## What people warn about

- Slow for raw performance work (3 comments): "Erlang's VM is actually surprisingly slow, and in the era of c10k it was still using select/poll" ([source](https://news.ycombinator.com/item?id=46427430)) "Erlang's said to be a pretty bad fit for -say- 3D video games that require high raw performance." ([source](https://news.ycombinator.com/item?id=45914505)) "they also had a historically bad performance story due to misjudgments in development direction" ([source](https://news.ycombinator.com/item?id=49864965))
- Inconsistent naming and layered complexity (3 comments): "They just added shit to it as they needed it without apparently putting too much consideration into the organization, naming, or conventions." ([source](https://news.ycombinator.com/item?id=45887687)) "Most of it fits into the 'as simple as possible' mold, although there's some places where the use case is complex and it shows in the code" ([source](https://news.ycombinator.com/item?id=45889615)) "I think the problem is that there is Erlang, the syntax, then Erlang, the features, and then there's OTP." ([source](https://news.ycombinator.com/item?id=46614721))
- Concurrency model has its own pitfalls (4 comments): "Erlang does make some failure modes less nasty. It also hides latency debt well enough that people thinks the model saved them" ([source](https://news.ycombinator.com/item?id=47379914)) "copying everything which, while improving memory safety by a huge margin, introduced (a) various GC footguns" ([source](https://news.ycombinator.com/item?id=48390086)) "Erlang somewhat fixes this with 'selective receive' which re-introduces the possibility of deadlocks." ([source](https://news.ycombinator.com/item?id=48035937))
- Niche, hard to adopt (2 comments): "It's the converse that's an issue. If your org doesn't use any Erlang. You're not going to be able to add it." ([source](https://news.ycombinator.com/item?id=47221420)) "a niche purely functional language with a weird-ass syntax that is challenging to transition to" ([source](https://news.ycombinator.com/item?id=45846941))

## Alternatives hackers recommend

- [Rust](https://hackerapproved.com/p/rust.md): 2039 recommend
- [Go](https://hackerapproved.com/p/go-programming-language.md): 1254 recommend
- [Python](https://hackerapproved.com/p/python.md): 1067 recommend
- [Zig](https://hackerapproved.com/p/zig.md): 743 recommend
- [TypeScript](https://hackerapproved.com/p/typescript.md): 574 recommend

## Cite as

Hacker Approved, "Erlang/OTP", https://hackerapproved.com/p/erlang/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
