Yep, that’s right. After not touching it for years since college, I’m learning Java. This has been prompted by many things, but mostly I just enjoy learning new languages; having a reason to do so is just an added bonus.

The project I’m using to teach myself is a command-line program: a board game idea I came up with. You can watch my progress at the GitHub repo if you wish.

I have to say that, so far, I’m really enjoying Java. Coming from doing PHP for half a decade, its actually a nice change of pace to work in a statically typed language. There’s an added layer of accomplishment and confidence in the code when it compiles properly. Also, the fact that everything, and I mean everything, is a class in Java, it really forces me to think about separation of duties, dependency injection, etc. The fact that I’m also reading Head First Design Patterns helps too.