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 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 Patient
From the Back Cover
The Definitive Introduction to Object-Oriented Programming in the Language of the World-Wide Web
Full text updates and code at HTTP://WWW.BRUCEECKEL.COM
JavaWorld Reader's Choice Award for best book, 2000
Java Developer's Journal Editor's Choice Award for best book, 1999
Software Development Magazine Productivity Award, 1999
From the fundamentals of Java syntax to its most advanced features (distributed computing, advanced object-oriented capabilities, multithreading), "Thinking in Java" is designed to teach. Bruce Eckel's readable style and small, direct programming examples make even the most arcane concepts clear.
- Java 2 only!
- First edition covering Java 1 on CD ROM and downloadable from www.BruceEckel.com
- For beginners and experts alike.
- Teaches Java linguistics, not platform-dependent mechanics.
- Thorough coverage of fundamentals, demonstrates advanced topics.
- 300+ working Java programs, 15,000+ lines of code.
- Source code on the CD and downloadable.
- Explains sound object-oriented principles as they apply to Java.
- From an independent voice, award-winning author Bruce Eckel.
- Regular updates of this book available of this book available online.
- Companion CD with more than 15 hours of audio lectures by Bruce Eckel available online.
- Live seminars available. See schedule at www.BruceEckel.com
What People Are Saying: "The best book on Java... Your depth is amazing," "Definitely the thinking person's choice in a Java book," "One of the absolutely best programming tutorials I've seen, for any language."