Effective Java Reloaded… Déjà Vu All Over Again

Well, almost. Here are the slides by the man himself, Joshua Bloch. He shared some new ideas on tackling the challenges we face in writing good, effective Java code.

A good read, but this is déjà vu all over again. Last time, I invested a lot of time and energy understanding the intricacies of C++, grokking all kinds of patterns that one should use to write good robust C++ code, reading good books by really smart C++ people, only to find that those problems were really C++ problems. The move to Java made perhaps 60% of those problems irrelevant.

So I was content with Java for a while. But now that I know languages other than Java, such as Python, Ruby, JavaScript, Lisp, my eyes have been irreversibly opened. These languages made me realize that things don’t have to be that way. The fact that you have to create a class for everything doesn’t mean that it’s right, for example. It’s perfectly OK to have first-class functions, like in JavaScript.

All those Java “solutions” are not necessarily breakthrough solutions that make you a better programmer. Some of them are merely solutions to problems you only find in Java. Moving to another language (say Python), will make a large percentage of them irrelevant.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s