After several years of programming Java while always keeping an eye on alternatives around, I’ve recently come to the conclusion:
Actually, there are just a few things still missing in the language these days which would render me a happy camper™ indeed (enjoying its mature ecosystem of libraries & tools).
Especially, since Lombok takes a lot of the general boilerplate code PITA away here (with useful features like convenient property accessors,
hashCode/equals/toString impl., logging facility injection, …).
Also, Guava does a truly good job in enabling one to write more concise and robust code.
Plus, Java 7 brought at least some nice, welcome improvements in
Finally, modern DI with Spring 4 (or Guice) using
javax.inject.* and Java config frees one from most needs for XML and, after all, a build sys beating Maven for real has yet to come.
So namely, here’s a personal wish list FTW:
- Pretty much everything coming up with Java/JDK 8 (sooner than later, hopefully) – particularly lambdas (at last…)
- More type inference (which the JVM is totally capable of); Java 7’s diamond operator’s definitely a good start there but, please, let me write
val foos = ...(like in Scala…)
- Collection literals à la Python or C#, something like this would be really sweet:
Pretty please. :)
PS: literal multiline strings, and so on and so forth, could be nice (but I can live without).
PPS: wouldn’t say no to optionally named function/constructor args, though.
Update 2016: these days, Kotlin’s the way to go, IMHO. :)