Hacker ApprovedDepartments

Elm

Ranked 35 of 163 programming languages by recommenders

Recommended for a small pure functional language whose compiler catches errors and prevents runtime exceptions. Critics say development stalled, with breaking changes and limited JavaScript interop.

Recommended for a small pure functional language whose compiler catches errors and prevents runtime exceptions. Critics say development stalled, with breaking changes and limited JavaScript interop.

127 people gave an opinion

recommend it
78
criticize it
49
approval share
61%
Each figure is one person. RecommendsCriticizes

Recommended in 12 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Owned for 2 years

Median of the 5 owners who said how long they have had it.

Each square is one year.

Why it doesn’t carry the badge

  • 78 people recommend itNeeds 10 or more, met.
  • 1.5 recommenders for every criticNeeds 2 to 1 or better, not met.
  • Recommended in 12 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Prevents runtime errors and exceptions

    “Elm, for instance, provides value insofar as it makes producing runtime exceptions significantly more difficult.”

    Comment from 6 Jul 2026 in “Road to Elm 1.0”

    “it's a lot of fun working at a codebase that does essentially does not allow for runtime programming errors”

    Comment from 31 Aug 2026 in “Relm4 makes developing beautiful cross-platform applications idiomatic”

    “It's far far harder to do something exploits like this in elm because effects are tagged.”

    Comment from 1 Jun 2026 in “NPM packages from RedHat have been compromised”
  • Works well with LLMs

    “it provides a declarative programming style that forces the LLM to write more correct code faster”

    Comment from 7 Nov 2025 in “Dead Framework Theory”

    “It works really great with LLMs, it introduces less bugs compared with other languages”

    Comment from 6 Jul 2026 in “Road to Elm 1.0”

    “Then Elm compiler has one of the best error messages. This helps agents a lot.”

    Comment from 6 Jul 2026 in “Road to Elm 1.0”
  • Helpful compiler error messages

    “I'm used to languages like Elm or Gleam in which a LSP error means there is an actual problem with your code”

    Comment from 30 May 2026 in “Zig: Build System Reworked”

    “The compiler is incredibly helpful because it catches errors and gives clear explanations”

    Comment from 26 May 2026 in “Use Boring Languages with LLMs”

    “Then Elm compiler has one of the best error messages. This helps agents a lot.”

    Comment from 6 Jul 2026 in “Road to Elm 1.0”
  • Separates state from the view

    “Personally, I really like this architecture, because it enables me to think about state and UI separately.”

    Comment from 26 May 2026 in “Does Anybody Actually Like React?”

    “it is possible (and ergonomic) to model your state separately from the view”

    Comment from 9 Apr 2026 in “Show HN: Tired of logic in useEffect, I built a class-based React state manager”

    “the fact that you do not have to worry about implicit and unexpected state”

    Comment from 26 May 2026 in “Does Anybody Actually Like React?”

What people warn about

Each mark is one comment

  • Development stalled or abandoned

    “Elm was good because the leadership said no...often. It's dead because the leadership said no so often that no one wanted to help maintain it.”

    Comment from 1 Nov 2025 in “Beginner-friendly, unofficial documentation for Helix text editor”

    “not sure why a company would newly choose a language that hasn't otherwise been updated in nearly 7 years”

    Comment from 6 Jul 2026 in “Road to Elm 1.0”

    “because it's so nice, that's why people are disappointed in it's stagnation”

    Comment from 6 Jul 2026 in “Road to Elm 1.0”
  • Limited JavaScript interop

    “Synchronous interop was removed from Elm. That sucks for synchronous stuff and anything too trivial to be worth async interop.”

    Comment from 6 Jul 2026 in “Road to Elm 1.0”

    “Elm is a niche research language with some extreme limitations now that they've forbidden users to do their own JS interop.”

    Comment from 6 Jul 2026 in “Road to Elm 1.0”

    “limiting what third-party contributors can bridge from browser APIs killed Elm's momentum for anything but toy projects”

    Comment from 6 Jul 2026 in “Road to Elm 1.0”
  • Frequent breaking changes

    “Elm is actually notorious for its wildly unpopular, dramatic, community-fracturing breaking changes.”

    Comment from 6 Jul 2026 in “Road to Elm 1.0”

    “what would have been even better is never having the feature, as opposed to adding it, allowing many people to become dependent on it, and then taking it away”

    Comment from 7 Jul 2026 in “Road to Elm 1.0”

Other programming languages people recommend

The four most recommended other programming languages, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

Elm compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
Rust2,03997368%134 yrs118 ownersApproved
Go1,25465166%135.9 yrs63 owners—
Python1,06782157%1218 yrs64 owners—
Zig74344962%121 yr27 owners—
ElmThis page784961%122 yrs5 owners—
See all 163 programming languages, ranked

What people said

40 of the 189 comments that mention it, newest first. Each links to the original comment.

“it's a lot of fun working at a codebase that does essentially does not allow for runtime programming errors”

RecommendsComment from 31 Aug 2026 in “Relm4 makes developing beautiful cross-platform applications idiomatic”

“The Elm project forked into a bunch of different Elms because Evan basically abandoned / killed it.”

CriticizesComment from 18 Aug 2026 in “Rethinking Database Programming”

“Generating a frontend with guarantees can almost not be done with any other language.”

RecommendsComment from 9 Jul 2026 in “Road to Elm 1.0”

“getting rid of the syntax cliff for new hires at the expense of terseness for the old hands was a decent tradeoff”

RecommendsComment from 8 Jul 2026 in “Road to Elm 1.0”

“what would have been even better is never having the feature, as opposed to adding it, allowing many people to become dependent on it, and then taking it away”

CriticizesComment from 7 Jul 2026 in “Road to Elm 1.0”

“Then Elm compiler has one of the best error messages. This helps agents a lot.”

RecommendsComment from 6 Jul 2026 in “Road to Elm 1.0”

“Elm is actually notorious for its wildly unpopular, dramatic, community-fracturing breaking changes.”

MixedComment from 6 Jul 2026 in “Road to Elm 1.0”

“Elm is a nice language, but Ewan has no interest in building anything truly useful”

MixedComment from 6 Jul 2026 in “Road to Elm 1.0”

“You won't understand why elm is simple until you actually use elm to the point of internal understanding.”

RecommendsComment from 6 Jul 2026 in “Road to Elm 1.0”

“the controlling developers are unreliable and prone to giving the appearance of abandoning the language”

CriticizesComment from 6 Jul 2026 in “Road to Elm 1.0”

“I maintain an Elm app and it is fully localized and I think it has a pretty good accessibility”

RecommendsComment from 6 Jul 2026 in “Road to Elm 1.0”

“Synchronous interop was removed from Elm. That sucks for synchronous stuff and anything too trivial to be worth async interop.”

MixedComment from 6 Jul 2026 in “Road to Elm 1.0”

“I think the biggest benefit Elm has over Yew is its access to the node js ecosystem through Port.”

MixedComment from 6 Jul 2026 in “Road to Elm 1.0”

“because it's so nice, that's why people are disappointed in it's stagnation”

RecommendsComment from 6 Jul 2026 in “Road to Elm 1.0”

“limiting what third-party contributors can bridge from browser APIs killed Elm's momentum for anything but toy projects”

CriticizesComment from 6 Jul 2026 in “Road to Elm 1.0”

“Elm is a niche research language with some extreme limitations now that they've forbidden users to do their own JS interop.”

CriticizesComment from 6 Jul 2026 in “Road to Elm 1.0”

“it's a very beautiful little language that still feels quite modern and easy to work with”

MixedComment from 6 Jul 2026 in “Road to Elm 1.0”

“Elm 0.19, which is the version that locked out all native modules that weren't officially blessed by Elm's author”

CriticizesComment from 6 Jul 2026 in “Road to Elm 1.0”

“I was very disappointed to find agents constantly tripping over significant white space with Elm”

MixedComment from 6 Jul 2026 in “Road to Elm 1.0”

“It works really great with LLMs, it introduces less bugs compared with other languages”

RecommendsComment from 6 Jul 2026 in “Road to Elm 1.0”

“I've been using Elm professionally at a very profitable, lean company the last two years.”

RecommendsComment from 6 Jul 2026 in “Road to Elm 1.0”

“Elm, for instance, provides value insofar as it makes producing runtime exceptions significantly more difficult.”

RecommendsComment from 6 Jul 2026 in “Road to Elm 1.0”

“Elm might be a really good fit for LLMs, because it forbids taking shortcuts.”

RecommendsComment from 6 Jul 2026 in “Road to Elm 1.0”

“not sure why a company would newly choose a language that hasn't otherwise been updated in nearly 7 years”

MixedComment from 6 Jul 2026 in “Road to Elm 1.0”

“after working for a while with statically-typed languages like Elm and Gleam, I see that there are many other ways to solve those same problems”

RecommendsComment from 15 Jun 2026 in “Phoenix LiveView 1.2 Released”

“It's far far harder to do something exploits like this in elm because effects are tagged.”

RecommendsComment from 1 Jun 2026 in “NPM packages from RedHat have been compromised”

“I'm used to languages like Elm or Gleam in which a LSP error means there is an actual problem with your code”

RecommendsComment from 30 May 2026 in “Zig: Build System Reworked”

“Development has frozen, this is true, but X11's development was frozen and it still powered so much for decades.”

MixedComment from 26 May 2026 in “Does Anybody Actually Like React?”

“Personally, I really like this architecture, because it enables me to think about state and UI separately.”

MixedComment from 26 May 2026 in “Does Anybody Actually Like React?”

“The compiler is incredibly helpful because it catches errors and gives clear explanations”

RecommendsComment from 26 May 2026 in “Use Boring Languages with LLMs”

“the fact that you do not have to worry about implicit and unexpected state”

RecommendsComment from 26 May 2026 in “Does Anybody Actually Like React?”

“it is possible (and ergonomic) to model your state separately from the view”

RecommendsComment from 9 Apr 2026 in “Show HN: Tired of logic in useEffect, I built a class-based React state manager”

“It is really well-defined and that not fall into any of the impossibilities you mention.”

RecommendsComment from 20 Jan 2026 in “The Overcomplexity of the Shadcn Radio Button”

“all the conflict with the creator and then the lack of compiler releases made me shy away”

MixedComment from 13 Dec 2025 in “I tried Gleam for Advent of Code”

“looking at the source code for elm and its website, as well as the elm real world example help a lot”

RecommendsComment from 4 Dec 2025 in “Thoughts on Go vs. Rust vs. Zig”

“they are not realistic nor productive choices unless your IT team has North American startup budget”

MixedComment from 19 Nov 2025 in “Experiment: Making TypeScript immutable-by-default”

“Elm is pure-functional, unlike OCaml, which has easy escape hatches (refs) when you need mutability.”

RecommendsComment from 7 Nov 2025 in “Why I love OCaml (2023)”

“it provides a declarative programming style that forces the LLM to write more correct code faster”

RecommendsComment from 7 Nov 2025 in “Dead Framework Theory”

“Elm stagnating as the BDFL continued to bless certain packages but refused this access to the rest of the community”

CriticizesComment from 4 Nov 2025 in “Why engineers can't be rational about programming languages”

“Elm was good because the leadership said no...often. It's dead because the leadership said no so often that no one wanted to help maintain it.”

MixedComment from 1 Nov 2025 in “Beginner-friendly, unofficial documentation for Helix text editor”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.