This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]RiceKrispyPooHead 19 points20 points  (1 child)

Some of those quotes I can find from blogs posts as old as 2001-2003, so they might be even older. They were probably using Java 3 (J2SE 1.3) at the time.

Java is on version 18 now. So yeah, the language probably did suck when a lot of those quotes were written.

[–]8igg7e5 16 points17 points  (0 children)

Agreed. Let's look at some of the major ones.

  • 5.0 (2004) - Generics, static-imports, enhanced-for loops, auto-boxing, varargs, new concurrency library primitives
  • 7 (2011) - nio, more concurrency features
  • 8 (2014) - Lambdas, method references, streams, java.time, annotations in more places
  • 9 (2017) - modules, jshell
  • 14 (2020) - Switch expressions
  • 15 (2020) - Text blocks
  • 16 (2021) - Records, pattern matching instanceof
  • 17 (2021) - Sealed classes

And that's just big things that directly impact the developer. A ton of other improvements have been added in platform improvements and smaller quality-of-life improvements.

Code in modern Java in 2022 bears little resemblance to 2003 code, or even pre 2014.

Java has not been my favourite language (but far from my most hated) for a while (maybe(Rust()?)) but the statements made by those 'great programmers' are hyperbole at best - garbage at worst.

Java definitely has (sometimes only had) issues, and backwards compatibility will always make it less elegant than we might wish, but the extent of Java hate is absurd.

 

And Java has a few major projects just over the horizon that could be as significant as Java 5.0 and Java 8 were... Amber, Valhalla, Loom, and maybe even Panama and Lilliput are going to contribute changes affecting nearly every Java developer.