HN Hall of Fame Weekly email

Why I love everything you hate about Java

magicscalingsprinkles.wordpress.com Essays & writing Essays & articles Software engineering Candidate

Resurfaced independently across 3 calendar years, with breakout response in 2 of them.

submissions
3
submitters
3
observed span
2010–2012
peak thread · 93 comments
114 pts
latest 20+ return · 2012-11-02
114 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

I find it odd that while the article is titled about Java, all of the code examples are in Scala. The statement "function composition is a degenerate case of the Decorator pattern" in the blog is bizarre to me. OO languages like Java have to resort to the Decorator pattern to handle their lack of composibility; that seems far more degenerate than a language that supports this kind of composition without hacks. Also this article is 2.5 years old.

Um, I don't hate Factories, Dependency Injection and Decorators. I hate that Java makes it very cumbersome to use them, typically via xml configuration files (so that it can be dynamic) and adding complex syntax (generics, annotations). And I hate that I can not pass functions as parameters. As he says in the article: "function composition is a degenerate case of the Decorator pattern." (not sure why "degenerate") - so instead of just composing functions, in Java I have to…

Tichy·59-point thread·

Avdi Grimm responded [0] to this (relatively old) article with what I think is a salient point: traditional design patterns are good, but Java makes expressing these design patterns very obtuse and heavy-handed. Nick Kallen conflates using intelligent design patterns with calling out every use of said design patterns in bold-face. Writing Java feels like "now I'm going to make a Factory Factory! See, it says FactoryFactory right there in the class name!" It's entirely natural to use intelligent design…

bri3d·18-point thread·

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
2

100+ points or 50+ comments

Total points
191

reference only — not used in Hall rules or ranking

Total comments
164

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2010-02-09Why I love everything you hate about JavaFirst breakoutnkallen5965
2011-11-28Why I love everything you hate about Javamcantor186
2012-11-02Why I love everything you hate about JavaBest thread · Latest 20+ point returnof11493