I like to dabble in different programming languages. It's a good way to pick up new ideas, and see how you can apply them to your own language of choice. The last time I touched Java was version 5, when I was at university. This year version 20 came out. It would be interesting to revisit the language and see what has changed, and what new ideas have been introduced.
To that end I've picked up a copy of Core Java for the Impatient. It covers up to version 17 (the last LTS), so I'll supplement it with some online reading for features new since then.
I picked this book for two reasons:
In the world of .NET, Visual Studio is the de-facto tooling for programmers. An immense IDE, it does a myriad of things for you. Do I want to replicate that in my exploration of Java? For now the answer is no.
I'll use Sublime Text and the Java command line tools. Things like Ant and Maven can come later if necessary. I want to gain an understanding of what goes on at each step of the process. Using an IDE would make that that little bit harder to achieve.
Reading is all well and good, but if one is to have the information stick, it is necessary to do as well. To this end, I'll turn to a couple of my favourite sources of programming exercises to supplement those in the book:
Between these sources, I'll have enough small scale projects to solidify my book knowledge.An hour a day to read and practice is probably sufficient here. I'm not expecting Java to be hard to pick up again, and I'm familiar with my chosen exercises. The time consuming bit will be getting a handle on the tooling and the surrounding ecosystem.
Lets dive in and learn.