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
--This text refers to an out of print or unavailable edition of this title.
“
Thinking in Java should be read cover to cover by every Java programmer, then kept close at hand for frequent reference. The exercises are challenging, and the chapter on Collections is superb! Not only did this book help me to pass the Sun Certified Java Programmer exam; it’s also the first book I turn to whenever I have a Java question.”
—Jim Pleger, Loudoun County (Virginia) Government“
Much better than any other Java book I’ve seen. Make that ‘by an order of magnitude’.... Very complete, with excellent right-to-the-point examples and intelligent, not dumbed-down, explanations.... In contrast to many other Java books I found it to be unusually mature, consistent, intellectually honest, well-written, and precise. IMHO, an ideal book for studying Java.”
—Anatoly Vorobey, Technion University, Haifa, Israel“Absolutely one of the best programming tutorials I’ve seen for any language.”
—Joakim Ziegler, FIX sysop“Thank you again for your awesome book. I was really floundering (being a non-C programmer), but your book has brought me up to speed as fast as I could read it. It’s really cool to be able to understand the underlying principles and concepts from the start, rather than having to try to build that conceptual model through trial and error. Hopefully I will be able to attend your seminar in the not-too-distant future.”
—Randall R. Hawley, automation technician, Eli Lilly & Co.“This is one of the best books I’ve read about a programming language.... The best book ever written on Java.”
—Ravindra Pai, Oracle Corporation, SUNOS product line“Bruce, your book is wonderful! Your explanations are clear and direct. Through your fantastic book I have gained a tremendous amount of Java knowledge. The exercises are also
fantastic and do an excellent job reinforcing the ideas explained throughout the chapters. I look forward to reading more books written by you. Thank you for the tremendous service that you are providing by writing such great books. My code will be much better after reading
Thinking in Java. I thank you and I’m sure any programmers who will have to maintain my code are also grateful to you.”
—Yvonne Watkins, Java artisan, Discover Technologies, Inc.“Other books cover the
what of Java (describing the syntax and the libraries) or the
how of Java (practical programming examples).
Thinking in Java is the only book I know that explains the
why of Java: Why it was designed the way it was, why it works the way it does, why it sometimes doesn’t work, why it’s better than C++, why it’s not. Although it also does a good job of teaching the what and how of the language,
Thinking in Java is definitely the thinking person’s choice in a Java book.”
—Robert S. StephensonAwards for Thinking in Java2003
Software Development Magazine Jolt Award for Best Book
2003
Java Developer’s Journal Reader’s Choice Award for Best Book
2001
JavaWorld Editor’s Choice Award for Best Book
2000
JavaWorld Reader’s Choice Award for Best Book
1999
Software Development Magazine Productivity Award
1998
Java Developer’s Journal Editor’s Choice Award for Best Book
Thinking in Java has earned raves from programmers worldwide for its extraordinary clarity, careful organization, and small, direct programming examples. From the fundamentals of Java syntax to its most advanced features, Thinking in Java is designed to teach, one simple step at a time.
- The classic object-oriented introduction for beginners and experts alike, fully updated for Java SE5/6 with many new examples and chapters!
- Test framework shows program output.
- Design patterns are shown with multiple examples throughout: Adapter, Bridge, Chain of Responsibility, Command, Decorator, Facade, Factory Method, Flyweight, Iterator, Data Transfer Object, Null Object, Proxy, Singleton, State, Strategy, Template Method, and Visitor.
- Introduction to XML for data transfer; SWT, Flash for user interfaces.
- Completely rewritten concurrency chapter gives you a solid grasp of threading fundamentals.
- 500+ working Java programs in 700+ compiling files, rewritten for this edition and Java SE5/6.
- Companion web site includes all source code, annotated solution guide, weblog, and multimedia seminars.
- Thorough coverage of fundamentals; demonstrates advanced topics.
- Explains sound object-oriented principles.
- Hands-On Java Seminar CD available online, with full multimedia seminar by Bruce Eckel.
- Live seminars, consulting, and reviews available. See www.MindView.net
Download seven free sample chapters from Thinking in Java, Fourth Edition. Visit http://mindview.net/Books/TIJ4.