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%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- 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” - Comment from 9 Jul 2026 in “Road to Elm 1.0”
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” - 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” - Comment from 4 Nov 2025 in “Why engineers can't be rational about programming languages”
- Comment from 6 Jul 2026 in “Road to Elm 1.0”
- Comment from 18 Aug 2026 in “Rethinking Database Programming”
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” - 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.
See all 163 programming languages, rankedWhat 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”
“The Elm project forked into a bunch of different Elms because Evan basically abandoned / killed it.”
“Generating a frontend with guarantees can almost not be done with any other language.”
“getting rid of the syntax cliff for new hires at the expense of terseness for the old hands was a decent tradeoff”
“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”
“Then Elm compiler has one of the best error messages. This helps agents a lot.”
“Elm is actually notorious for its wildly unpopular, dramatic, community-fracturing breaking changes.”
“Elm is a nice language, but Ewan has no interest in building anything truly useful”
“You won't understand why elm is simple until you actually use elm to the point of internal understanding.”
“the controlling developers are unreliable and prone to giving the appearance of abandoning the language”
“I maintain an Elm app and it is fully localized and I think it has a pretty good accessibility”
“Synchronous interop was removed from Elm. That sucks for synchronous stuff and anything too trivial to be worth async interop.”
“I think the biggest benefit Elm has over Yew is its access to the node js ecosystem through Port.”
“because it's so nice, that's why people are disappointed in it's stagnation”
“limiting what third-party contributors can bridge from browser APIs killed Elm's momentum for anything but toy projects”
“Elm is a niche research language with some extreme limitations now that they've forbidden users to do their own JS interop.”
“it's a very beautiful little language that still feels quite modern and easy to work with”
“Elm 0.19, which is the version that locked out all native modules that weren't officially blessed by Elm's author”
“I was very disappointed to find agents constantly tripping over significant white space with Elm”
“It works really great with LLMs, it introduces less bugs compared with other languages”
“I've been using Elm professionally at a very profitable, lean company the last two years.”
“Elm, for instance, provides value insofar as it makes producing runtime exceptions significantly more difficult.”
“Elm might be a really good fit for LLMs, because it forbids taking shortcuts.”
“not sure why a company would newly choose a language that hasn't otherwise been updated in nearly 7 years”
“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”
“It's far far harder to do something exploits like this in elm because effects are tagged.”
“I'm used to languages like Elm or Gleam in which a LSP error means there is an actual problem with your code”
“Development has frozen, this is true, but X11's development was frozen and it still powered so much for decades.”
“Personally, I really like this architecture, because it enables me to think about state and UI separately.”
“The compiler is incredibly helpful because it catches errors and gives clear explanations”
“the fact that you do not have to worry about implicit and unexpected state”
“it is possible (and ergonomic) to model your state separately from the view”
“It is really well-defined and that not fall into any of the impossibilities you mention.”
“all the conflict with the creator and then the lack of compiler releases made me shy away”
“looking at the source code for elm and its website, as well as the elm real world example help a lot”
“they are not realistic nor productive choices unless your IT team has North American startup budget”
“Elm is pure-functional, unlike OCaml, which has easy escape hatches (refs) when you need mutability.”
“it provides a declarative programming style that forces the LLM to write more correct code faster”
“Elm stagnating as the BDFL continued to bless certain packages but refused this access to the rest of the community”
“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.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.