Hacker ApprovedDepartments

Java

Ranked 6 of 163 programming languages by recommenders

Recommended for strong runtime performance, a huge mature ecosystem and stable, well-signposted upgrades; critics cite slow startup, memory footprint and awkward, bolted-on language features.

Recommended for strong runtime performance, a huge mature ecosystem and stable, well-signposted upgrades; critics cite slow startup, memory footprint and awkward, bolted-on language features.

1,067 people gave an opinion

recommend it
553
criticize it
514
approval share
52%
Each figure is 10 people. RecommendsCriticizes

Recommended in 13 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: recommended (month in progress)

Owned for 15 years

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

Each square is one year.

Why it doesn’t carry the badge

  • 553 people recommend itNeeds 10 or more, met.
  • 1 recommender for every criticNeeds 2 to 1 or better, not met.
  • Recommended in 13 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

  • Fast runtime performance

    “Been a great decision so far: great ecosystem, bulletproof runtime, fantastic performance and new quality features arriving on a steady schedule.”

    Comment from 15 Sep 2026 in “Java 27”

    “There are no GC pauses in modern Java implementations, and there are plenty of systems written in C and C++ that have been replaced by Java”

    Comment from 30 Oct 2026 on Hacker News

    “running vector version of java code from same repo brings runtime to 392ms which is literally fastest out of all solutions including c++”

    Comment from 1 Feb 2026 in “Data Processing Benchmark Featuring Rust, Go, Swift, Zig, Julia etc.”
  • Rich, mature libraries and tooling

    “Java has a long track record of delivering very good performance in those contexts, coupled with an extremely rich and mature library/tooling ecosystem.”

    Comment from 11 Sep 2026 in “Rust is tier-1 language at Microsoft”

    “Been a great decision so far: great ecosystem, bulletproof runtime, fantastic performance and new quality features arriving on a steady schedule.”

    Comment from 15 Sep 2026 in “Java 27”

    “Java was a decent language and getting better and its tooling was stellar, beyond anything those two ecosystems can muster today.”

    Comment from 12 Dec 2025 in “My productivity app is a never-ending .txt file (2020)”
  • Stable upgrades, little breakage

    “What I do like about java is that when breaking changes must happen (and they do occasionally), they are almost always small and the java authors signpost it WELL in advance”

    Comment from 31 Jul 2026 in “JEP 401: Value Objects (Preview) merged to OpenJDK master”

    “my recent legacy Java project migration from JDK 8 -> 21 & a ton of dependency upgrades has been a pretty smooth experience so far”

    Comment from 21 Nov 2025 in “We should all be using dependency cooldowns”

    “the Java ecosystem isn’t JS where breakage is so common that you have to be extra careful about the version of Node you’re using”

    Comment from 28 Nov 2025 in “Installing Java in 2025, and Version Managers”
  • Steady stream of new features

    “Been a great decision so far: great ecosystem, bulletproof runtime, fantastic performance and new quality features arriving on a steady schedule.”

    Comment from 15 Sep 2026 in “Java 27”

    “This more agile approach is a lot better in my experience and we see that the changes made are more relevant and what people actually want.”

    Comment from 15 Sep 2026 in “Java 27”

    “Java actually gives lots of really great tools and language features that allow you to write relatively pretty, terse, performant code.”

    Comment from 31 Jul 2026 in “JEP 401: Value Objects (Preview) merged to OpenJDK master”

What people warn about

Each mark is one comment

  • Slow startup, high memory footprint

    “Keep in mind speed and throughput are not the only performance metrics. So is startup time and memory footprint, where Java loses badly here.”

    Comment from 29 Jul 2026 in “Zig's Incremental Compilation Internals”

    “But it historically hasn't handled computer graphics well and can feel very slow and bloated when something needs that”

    Comment from 25 Nov 2025 in “Google Antigravity”

    “Java has significant overhead, that most/every object is allocated on heap, synchronized and has extra overhead of memory and performance to be GC controlled.”

    Comment from 15 Mar 2026 in “100 hour gap between a vibecoded prototype and a working product”
  • Awkward, bolted-on language features

    “Almost every feature bolted onto Java seems to take several times more code, and doesn't really work with the rest of the language.”

    Comment from 12 Nov 2025 in “.NET 10”

    “The more I work in Java, the more I feel friction between the language, its identity(OO beginning to incorporate functional ideas), and how people write in it.”

    Comment from 25 Nov 2025 in “Fifty Shades of OOP”

    “When it's disallowed (like Java, unfortunately), trying to reduce a directed graph structure to a single dominant hierarchy is quite the bothersome choice.”

    Comment from 17 May 2026 in “The Third Hard Problem”
  • Garbage collection overhead

    “I've seen plenty of Java applications spend 30 seconds or longer because they had to do a full garbage collection back in the day.”

    Comment from 16 Sep 2026 in “Java 27”

    “Java has significant overhead, that most/every object is allocated on heap, synchronized and has extra overhead of memory and performance to be GC controlled.”

    Comment from 15 Mar 2026 in “100 hour gap between a vibecoded prototype and a working product”

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.

Java 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—
JavaThis page55351452%1315 yrs34 owners—
See all 163 programming languages, ranked

What people said

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

“most of what I needed that wasn't specific to our company's business logic was already available in the standard library”

RecommendsComment from 31 Oct 2026 in “Malware uses LLMs to rank victims by how much they're worth”

“There are no GC pauses in modern Java implementations, and there are plenty of systems written in C and C++ that have been replaced by Java”

RecommendsComment from 30 Oct 2026 on Hacker News

“I've seen plenty of Java applications spend 30 seconds or longer because they had to do a full garbage collection back in the day.”

MixedComment from 16 Sep 2026 in “Java 27”

“Java explicitly refused to take some of the best features of Kotlin, like extension methods, context parameters and operator overloading.”

CriticizesComment from 16 Sep 2026 in “Java 27”

“Anyway, the JVM was designed as a solution for the performance issues low-level languages suffer from as programs grow and/or evolve.”

MixedComment from 15 Sep 2026 in “Java 27”

“the larger the possibility space of a language (and its ecosystem) the more room there is for inappropriate use and unclear code”

MixedComment from 15 Sep 2026 in “Java 27”

“Been a great decision so far: great ecosystem, bulletproof runtime, fantastic performance and new quality features arriving on a steady schedule.”

RecommendsComment from 15 Sep 2026 in “Java 27”

“This more agile approach is a lot better in my experience and we see that the changes made are more relevant and what people actually want.”

RecommendsComment from 15 Sep 2026 in “Java 27”

“I've had so many hard-to-debug issues in Java over the years due to reflection, annotations, and bytecode manipulation shenanigans.”

MixedComment from 15 Sep 2026 in “Java 27”

“Java can and has been used for real-time systems, but it does not look like the Java that you would come across in normal programs.”

MixedComment from 13 Sep 2026 in “Rust is tier-1 language at Microsoft”

“Java has a long track record of delivering very good performance in those contexts, coupled with an extremely rich and mature library/tooling ecosystem.”

RecommendsComment from 11 Sep 2026 in “Rust is tier-1 language at Microsoft”

“Java actually gives lots of really great tools and language features that allow you to write relatively pretty, terse, performant code.”

RecommendsComment from 31 Jul 2026 in “JEP 401: Value Objects (Preview) merged to OpenJDK master”

“What I do like about java is that when breaking changes must happen (and they do occasionally), they are almost always small and the java authors signpost it WELL in advance”

MixedComment from 31 Jul 2026 in “JEP 401: Value Objects (Preview) merged to OpenJDK master”

“Keep in mind speed and throughput are not the only performance metrics. So is startup time and memory footprint, where Java loses badly here.”

MixedComment from 29 Jul 2026 in “Zig's Incremental Compilation Internals”

“The JVM is specifically designed to remove some of the fundamental performance overheads that low-level languages suffer from”

RecommendsComment from 29 Jul 2026 in “Zig's Incremental Compilation Internals”

“modern approaches (Quarkus, Panache, build-time annotation processing and native images) despite jumping on new version of Java rather quickly”

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

“Adding it to Java which has primitives, generics and boxing, finding ways that seamlessly cover the differences between objects and primitives, while trying to plan for the future is hard.”

RecommendsComment from 19 Jun 2026 in “Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28”

“for many applications Java can just have you write ordinary blocking code and they will automagically turn into non-blocking.”

RecommendsComment from 15 Jun 2026 in “21 years and counting of 'eight fallacies of distributed computing' (2025)”

“Anyway, aside from some outdated (or soon-to-be-outdated) things, what you pointed out is mostly about lack of convenient direct low-level control rather than general performance”

MixedComment from 4 Jun 2026 in “Every Byte Matters”

“Java was designed as a much higher level language, and allows reasoning about low level abstractions a lot less, while doing a ton more optimization in the JIT”

MixedComment from 24 May 2026 in “dotNET (OK, C#) gets union types”

“When it's disallowed (like Java, unfortunately), trying to reduce a directed graph structure to a single dominant hierarchy is quite the bothersome choice.”

CriticizesComment from 17 May 2026 in “The Third Hard Problem”

“Java was designed, among other things, to reduce the severe and hard-to-fix performance problems that many C++ programs had experienced”

RecommendsComment from 30 Apr 2026 in “The RAM shortage could last years”

“Yet if you ask people in the bay area, especially the those who are under 35, they would tell you that "Use Java? Over my deadbody"”

RecommendsComment from 18 Mar 2026 in “Java 26 is here, and with it a solid foundation for the future”

“Java has significant overhead, that most/every object is allocated on heap, synchronized and has extra overhead of memory and performance to be GC controlled.”

CriticizesComment from 15 Mar 2026 in “100 hour gap between a vibecoded prototype and a working product”

“a managed language with a decent type system and not a lot of features would be the best, especially if it has a lot of code in its training data”

RecommendsComment from 3 Feb 2026 in “The Hot Mess of AI”

“running vector version of java code from same repo brings runtime to 392ms which is literally fastest out of all solutions including c++”

MixedComment from 1 Feb 2026 in “Data Processing Benchmark Featuring Rust, Go, Swift, Zig, Julia etc.”

“Java solved it by having exceptions be able to attach secondary exceptions, in particular those occurring during stack unwinding”

RecommendsComment from 28 Dec 2025 in “C++ says "We have try at home."”

“Java was a decent language and getting better and its tooling was stellar, beyond anything those two ecosystems can muster today.”

RecommendsComment from 12 Dec 2025 in “My productivity app is a never-ending .txt file (2020)”

“how far Java has come performance wise, from absolutely dog slow to being an insignificant fraction away from low level languages”

MixedComment from 10 Dec 2025 in “Rust in the kernel is no longer experimental”

“Java is used to write very large data processing systems, CDN networks, API servers and even widely used consumer apps (IntelliJ products).”

RecommendsComment from 8 Dec 2025 in “Applets are officially gone, but Java in the browser is better”

“anyone who “hates” on Java is just revealing a lack of understanding of what’s important in professional software development”

RecommendsComment from 5 Dec 2025 in “Anthropic acquires Bun”

“the Java ecosystem isn’t JS where breakage is so common that you have to be extra careful about the version of Node you’re using”

RecommendsComment from 28 Nov 2025 in “Installing Java in 2025, and Version Managers”

“I really don't want to learn a dinosaur like Java, but having access to the universe of Java libs has saved me many times.”

MixedComment from 26 Nov 2025 in “Python is not a great language for data science”

“But it historically hasn't handled computer graphics well and can feel very slow and bloated when something needs that”

MixedComment from 25 Nov 2025 in “Google Antigravity”

“The more I work in Java, the more I feel friction between the language, its identity(OO beginning to incorporate functional ideas), and how people write in it.”

CriticizesComment from 25 Nov 2025 in “Fifty Shades of OOP”

“my recent legacy Java project migration from JDK 8 -> 21 & a ton of dependency upgrades has been a pretty smooth experience so far”

RecommendsComment from 21 Nov 2025 in “We should all be using dependency cooldowns”

“Almost every feature bolted onto Java seems to take several times more code, and doesn't really work with the rest of the language.”

MixedComment from 12 Nov 2025 in “.NET 10”

“Usually, the ability to write programs more quickly in eg. Java (not having to care about memory management) outweighs the possible gain of Rust”

RecommendsComment from 7 Nov 2025 in “A Note on Fil-C”

“the problem isn't due to the runtime being somehow inherently insecure, but instead due to the defective design of the SecurityManager”

MixedComment from 5 Nov 2025 in “Analyzing the Performance of WebAssembly vs. Native Code”

“Java and C# did a much better job at introducing the features they needed without breaking the readability and familiarity of C.”

RecommendsComment from 2 Nov 2025 in “Hard Rust requirements from May onward”

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