Hacker ApprovedDepartments

Scala

Ranked 24 of 163 programming languages by recommenders

Recommended as an expressive JVM language with a powerful type system that blends OO and FP, though many find it overly complex and the Scala 3 migration and tooling painful.

Recommended as an expressive JVM language with a powerful type system that blends OO and FP, though many find it overly complex and the Scala 3 migration and tooling painful.

252 people gave an opinion

recommend it
134
criticize it
118
approval share
53%
Each figure is 2 people. 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 10 years

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

Each square is one year.

Why it doesn’t carry the badge

  • 134 people recommend itNeeds 10 or more, met.
  • 1.1 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

  • Powerful, expressive type system

    “it really was ahead of its time. Type systems were pretty uncool before Scala. It proved that you could get OO and FP in a single type system.”

    Comment from 7 Dec 2025 in “Scala 3 slowed us down?”

    “Scala is a great language and I really prefer its typesafe and easy way to write powerful programs”

    Comment from 7 Dec 2025 in “Scala 3 slowed us down?”

    “my experience is that if it compiles and looks like what you expect, it's almost certainly correct”

    Comment from 5 Apr 2026 in “The threat is comfortable drift toward not understanding what you're doing”
  • Blends OO and functional programming

    “it really was ahead of its time. Type systems were pretty uncool before Scala. It proved that you could get OO and FP in a single type system.”

    Comment from 7 Dec 2025 in “Scala 3 slowed us down?”

    “Scala similarly to the previous examples was a Java-like with Haskell flavor that escaped an academic lab”

    Comment from 10 Aug 2026 in “Because It's Not Fun Enough: why languages fail”

    “Scala supports declarative, generative, imperative, meta, and object-oriented paradigms.”

    Comment from 30 Nov 2025 in “The Origins of Scala (2009)”
  • Scala 3 improvements and syntax

    “Scala has evolved the last several years to again become perhaps the most interesting big-ish application language”

    Comment from 18 Oct 2026 in “Java sealed classes and exhaustive pattern matching”

    “The stuff currently cooking in Scala 3 will once more revolutionize the whole programming language landscape.”

    Comment from 8 Dec 2025 in “Scala 3 slowed us down?”

    “Removing braces really makes code much easier to read for people who get distracted by useless line noise”

    Comment from 9 Dec 2025 in “Scala 3 slowed us down?”
  • Strong effect libraries like ZIO

    “Scala does exactly that, and has libraries that e.g. propagate stack traces across fibres automatically and invisibly.”

    Comment from 1 Aug 2026 in “Golang proposal: container/: generic collection types”

    “I say this as someone using Scala 3 with ZIO effects system and Mill build tool and thinks it is fantastic.”

    Comment from 10 Jul 2026 in “Scarf has moved away from Haskell”

    “In Scala (especially ZIO) propagation is all automatic and you just handle it wherever you'd like.”

    Comment from 26 Apr 2026 in “What Async Promised and What It Delivered”

What people warn about

Each mark is one comment

  • Too many features and styles

    “most of our engineers dislike it because the language is difficult to understand, has way too many features, and has many ways to solve the same problem”

    Comment from 8 Mar 2026 in “A Grand Vision for Rust”

    “A language that is really popular can manage having 5 ways to do things, but a small community is just going to lose steam.”

    Comment from 30 Nov 2025 in “The Origins of Scala (2009)”

    “overwhelmed by typesafe abstractions that held theoretical appeal but hampered readability and fragmented the community”

    Comment from 9 Mar 2026 in “A Grand Vision for Rust”
  • Painful Scala 2 to 3 migration

    “The language is actually really nice. The "we won't ship dotty as the next version of Scala, just kidding, here it is", the breakage of editors and IDEs that lasted for years, etc (aka, the WAY they did it) make migrating a poor value prop.”

    Comment from 30 Nov 2025 in “The Origins of Scala (2009)”

    “Migrating's been quite challenging. Tooling, which was already a challenge for the language, got worse because it was split between Scala 2 and 3.”

    Comment from 28 Jul 2026 in “Show HN: Scala Tutorials – interactive Scala 3 lessons in the browser”

    “all the examples and code snippets in the official docs defaulted to the new syntax, making them infuriating to read”

    Comment from 9 Dec 2025 in “Scala 3 slowed us down?”
  • Weak or broken tooling

    “The language is actually really nice. The "we won't ship dotty as the next version of Scala, just kidding, here it is", the breakage of editors and IDEs that lasted for years, etc (aka, the WAY they did it) make migrating a poor value prop.”

    Comment from 30 Nov 2025 in “The Origins of Scala (2009)”

    “Migrating's been quite challenging. Tooling, which was already a challenge for the language, got worse because it was split between Scala 2 and 3.”

    Comment from 28 Jul 2026 in “Show HN: Scala Tutorials – interactive Scala 3 lessons in the browser”
  • Slow compile times

    “I would definitely trim like 20% off scala, but I think slow compile times were the main reason.”

    Comment from 18 Oct 2026 in “Java sealed classes and exhaustive pattern matching”

    “A single loop might recompile and rerun the application/unit tests enough times that slow compilers like Rust and Scala become detrimental.”

    Comment from 29 Apr 2026 in “Bugs Rust Won't Catch”

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.

Scala 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—
ScalaThis page13411853%1210 yrs15 owners—
See all 163 programming languages, ranked

What people said

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

“it also caused some real world problems like different, partly incomprehensible coding syles or compatibility issues.”

MixedComment from 19 Oct 2026 in “Java sealed classes and exhaustive pattern matching”

“He's happy with his research language that somehow has enough good features some companies put it in prod.”

MixedComment from 19 Oct 2026 in “Java sealed classes and exhaustive pattern matching”

“Scala has evolved the last several years to again become perhaps the most interesting big-ish application language”

RecommendsComment from 18 Oct 2026 in “Java sealed classes and exhaustive pattern matching”

“I would definitely trim like 20% off scala, but I think slow compile times were the main reason.”

MixedComment from 18 Oct 2026 in “Java sealed classes and exhaustive pattern matching”

“we wrote scala to run our queries, and once we figured out how to get our compiler and runtime set up, we liked it!”

RecommendsComment from 23 Aug 2026 in “Things I want in a modern relational query language”

“Scala similarly to the previous examples was a Java-like with Haskell flavor that escaped an academic lab”

RecommendsComment from 10 Aug 2026 in “Because It's Not Fun Enough: why languages fail”

“Scala does exactly that, and has libraries that e.g. propagate stack traces across fibres automatically and invisibly.”

RecommendsComment from 1 Aug 2026 in “Golang proposal: container/: generic collection types”

“Migrating's been quite challenging. Tooling, which was already a challenge for the language, got worse because it was split between Scala 2 and 3.”

MixedComment from 28 Jul 2026 in “Show HN: Scala Tutorials – interactive Scala 3 lessons in the browser”

“have type systems expressive enough that using them to track escaping is not an absolute hassle”

RecommendsComment from 22 Jul 2026 in “OpenAI and Hugging Face partner to address security incident”

“I say this as someone using Scala 3 with ZIO effects system and Mill build tool and thinks it is fantastic.”

RecommendsComment from 10 Jul 2026 in “Scarf has moved away from Haskell”

“in the stronger languages you can reason about larger swaths about domain concepts easily”

RecommendsComment from 7 Jul 2026 in “Poly/ML – A Standard ML Implementation”

“Clojure, Groovy and even Scala, focus primarily on being nice with Java and having a symbiotic relationship.”

RecommendsComment from 1 Jun 2026 in “Zig ELF Linker Improvements Devlog”

“A single loop might recompile and rerun the application/unit tests enough times that slow compilers like Rust and Scala become detrimental.”

CriticizesComment from 29 Apr 2026 in “Bugs Rust Won't Catch”

“In Scala (especially ZIO) propagation is all automatic and you just handle it wherever you'd like.”

RecommendsComment from 26 Apr 2026 in “What Async Promised and What It Delivered”

“my experience is that if it compiles and looks like what you expect, it's almost certainly correct”

RecommendsComment from 5 Apr 2026 in “The threat is comfortable drift toward not understanding what you're doing”

“I never had this problem with Scala (2.x for me, but I guess there's similar syntax/concepts in 3).”

RecommendsComment from 23 Mar 2026 in “An Incoherent Rust”

“overwhelmed by typesafe abstractions that held theoretical appeal but hampered readability and fragmented the community”

CriticizesComment from 9 Mar 2026 in “A Grand Vision for Rust”

“most of our engineers dislike it because the language is difficult to understand, has way too many features, and has many ways to solve the same problem”

CriticizesComment from 8 Mar 2026 in “A Grand Vision for Rust”

“Still my favorite language I had the privilege to work with professionally for over a decade.”

MixedComment from 3 Feb 2026 in “The Sovereign Tech Fund Invests in Scala”

“I've always liked Scala as a language, but it's challenging to write high-performing and memory-efficient code on the JVM in general.”

MixedComment from 30 Jan 2026 in “The Sovereign Tech Fund Invests in Scala”

“I can't think of a single time symbolic operators were brought up as a source of complexity of confusion”

RecommendsComment from 29 Jan 2026 in “The Sovereign Tech Fund Invests in Scala”

“if you try starting a new project now with the latest Scala 3, I think you'll find that its pretty nice”

RecommendsComment from 29 Jan 2026 in “The Sovereign Tech Fund Invests in Scala”

“It supports so many paradigms that every line of code I wrote I had to sit and think if I was doing it the "right" way”

CriticizesComment from 29 Jan 2026 in “The Sovereign Tech Fund Invests in Scala”

“Scala is an incredible language, especially for the language being so flexible, which is a strength, not a weakness.”

RecommendsComment from 29 Jan 2026 in “The Sovereign Tech Fund Invests in Scala”

“Scala's metaprogramming abilities coupled to a powerful type system are still unmatched.”

MixedComment from 29 Jan 2026 in “The Sovereign Tech Fund Invests in Scala”

“but also fixed many warts”

MixedComment from 29 Jan 2026 in “The Sovereign Tech Fund Invests in Scala”

“Scala is a fantastic language and in fact I'd say it's the language that proves the article wrong.”

RecommendsComment from 7 Jan 2026 in “Stop Designing Languages. Write Libraries Instead (2016)”

“Kotlin or Scala in particular IMO serve better for systems where the bulk of the code is internal business logic.”

RecommendsComment from 26 Dec 2025 in “Ruby 4.0.0 Released”

“Removing braces really makes code much easier to read for people who get distracted by useless line noise”

RecommendsComment from 9 Dec 2025 in “Scala 3 slowed us down?”

“The overreaching majority thinks that Scala 3 is objectively much better than Scala 2 ever was.”

RecommendsComment from 9 Dec 2025 in “Scala 3 slowed us down?”

“all the examples and code snippets in the official docs defaulted to the new syntax, making them infuriating to read”

CriticizesComment from 9 Dec 2025 in “Scala 3 slowed us down?”

“The stuff currently cooking in Scala 3 will once more revolutionize the whole programming language landscape.”

RecommendsComment from 8 Dec 2025 in “Scala 3 slowed us down?”

“it is not a great mainstream language and the new opinionated language is too hard for junior Joe developers”

MixedComment from 8 Dec 2025 in “Scala 3 slowed us down?”

“it really was ahead of its time. Type systems were pretty uncool before Scala. It proved that you could get OO and FP in a single type system.”

RecommendsComment from 7 Dec 2025 in “Scala 3 slowed us down?”

“Scala is a great language and I really prefer its typesafe and easy way to write powerful programs”

RecommendsComment from 7 Dec 2025 in “Scala 3 slowed us down?”

“The language is actually really nice. The "we won't ship dotty as the next version of Scala, just kidding, here it is", the breakage of editors and IDEs that lasted for years, etc (aka, the WAY they did it) make migrating a poor value prop.”

MixedComment from 30 Nov 2025 in “The Origins of Scala (2009)”

“Its syntax is now Python-like (indentation based), although you can also use C style if you prefer.”

RecommendsComment from 30 Nov 2025 in “The Origins of Scala (2009)”

“Scala supports declarative, generative, imperative, meta, and object-oriented paradigms.”

RecommendsComment from 30 Nov 2025 in “The Origins of Scala (2009)”

“A language that is really popular can manage having 5 ways to do things, but a small community is just going to lose steam.”

CriticizesComment from 30 Nov 2025 in “The Origins of Scala (2009)”

“I think they did a lot of things right. Offer automatic conversions, backwards and forwards compatibility”

MixedComment from 29 Nov 2025 in “The Origins of Scala (2009)”

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