Live long Java

One thing I really love about Java is the quality of its libraries. The famous Java Ecosystem. For just about any problem domain you'll be able to pickup something that works great and is well supported. Most of the time you wont even need to leave the massive standard library. They really do have something for everyone. And usually there is a pretty clear winner so you don't have to spend your time trialling solutions or wondering how to integrate them.

Lets look at client/server communications for example. Sockets socket sockets, so much fun to be had! So many choices to be made. Will you use threads? Will you support TSL? What wire format to choose? Are you after performance, or simplicity? Yes you can tackle all those problems with due vigor, but someone already has! Netty gives you a completely configurable framework so you can treat all those decisions as options and just focus on your client/server protocol. This is no small thing, decoupling your messaging from the transport layer. For example UDP and TCP are totally different abstractions and it is a non-trivial task to come up with a solution which allows you to plug in either and still work.

Java really has reached a very strong level of 'this is how you solve that problem'. And for that, I hope it stays around for a long time.