Thinking in Java
In preparation for MSIT (Master of Science in Information Technology), I'm brushing up on Java. I scouted around for the best tutorial on this and hit upon Thinking in Java (aka TiJ), by Bruce Eckel.
I've tried Eckel's Thinking in C before and loved his style, so I immediately downloaded the free book. It's in HTML form and available here: http://www.mindview.net/Books/TIJ/. You have the option of buying the hard copy, in which case you get a tutorial CD too!
So now I'll be learning programming Java in a Macbook. Will update this blog about my progress. So far, in the first chapter, most of it is review for me. Eckel is giving the basics of object-oriented programming (OOP) with stuff that I know from UML (objects, classes and types, composition, inheritance etc).
What I like about Eckel's style is that he incorporates what he learned from teaching Java and OOP into the book. So he is intentionally minimizing the concept-loading part by paring down the basics into the most important concepts and then focusing on these at the start.
I remember struggling with a bad Java book during Java 1.0 days. The book was trying to do several things simultaneously on Chapter One -- Java history, syntax, methods, objects, creating instances, etc. Plus the author was trying to explain objects too much, using too many analogies that only made things far harder to grasp.
Eckel simply talks about objects and how they are organized. Then he introduces an example, without overloading the padawan Java programmer's brain. So far, it's fun reading the book.
Download this book in HTML format. Free!
See also: Java