Programming languages have similarities with general purpose languages such as Spanish. You might know enough Spanish to cobble together a simple letter or read a poster but the real breakthrough comes when you can think in it. Thinking in Java attempts to improve your understanding to the point where you can think about a programming problem in Java rather than in English or whatever and then translate it. This fits extremely well with the basic Java ethos, which is to enable you to frame a problem in terms of the Java objects you'll use to provide a solution. Eckel approaches teaching you to think in Java by introducing a topic, talking around it to put it in context, providing examples to try and then discussing them in depth. Each chapter has a summary followed by exercises. The book
… read more...is structured for someone coming from a procedural language background. Eckel spends a lot of time on OOP concepts in general and the way in which it's implemented in Java. After covering operators Eckel goes on to program flow, initialisation and garbage collection, packages, class reuse, polymorphism and so on all the way up to distributed programming (servlets) and appendices on passing objects, the JNI, guidelines and resources. The whole book is also on CD (in several formats including HTML) with the source code (guaranteed to compile under Linux using Java 1.2.2). The CD also contains Thinking in C: Foundations for C++and Java. Thinking In Java is basically a tutorial. You're intended to read it linearly and work the exercises. It helps that it's well written but it helps even more to have a programming background. If not, you'll probably want a straight Java reference to hand as well. --Steve PatientRead More read less...