Perhaps this isn't quiet HN quality of a comment, but I'd love to go to a grey scale screen. I've been trying to figure out how to do that for years. Never could. The simplicity of it would be wonderful.
In the same way, Java is noisy, I admit that, but it's fast, powerful and fairly easy to understand when executed correctly. I'm not saying you can do the same thing in other languages, but it's a good language for systems, especially middle-ware/server side development. It's horrible for Web Page development since JSPs suck and custom tags never caught on in most development shops (they're used because the framework provided them, but even when .tag files came out few used them to encapsulate screen behavior). But Web Development has moved on to JS on the client and REST on the back, so again Java is pretty good too.
I tried server-side development in Java, didn't like it at all. I'd pick Haskell or Erlang over it in a heartbeat.
You can't easily build fault-tolerant distributed systems using only classes without concepts such as function purity and data immutability. Java's type system also happens to be neither sound nor correct; casts are everywhere and NullPointerExceptions can fly around. You're constantly working against the language to write safe distributed code. If Java was safe as a language, it wouldn't require so much debugging time. Haskell was an eye opener for this.
For systems programming I now use exclusively C and D. In the end, Java is only a viable option when you don't know any better. Most Javaland programmers I know of also happen to be blub programmers. They don't know unix, regex, functional style, don't write tests and the list goes on. They do, however, know Agile and UML.
Maybe that's what I don't like about Java. It's culture killed technical knowledge and replaced it with bureaucratic management.
In the same way, Java is noisy, I admit that, but it's fast, powerful and fairly easy to understand when executed correctly. I'm not saying you can do the same thing in other languages, but it's a good language for systems, especially middle-ware/server side development. It's horrible for Web Page development since JSPs suck and custom tags never caught on in most development shops (they're used because the framework provided them, but even when .tag files came out few used them to encapsulate screen behavior). But Web Development has moved on to JS on the client and REST on the back, so again Java is pretty good too.