Thinking in Java (4th Edition)
|
| List Price: | $69.99 |
| Price: | $44.09 & eligible for FREE Super Saver Shipping on orders over $25. Details |
Availability: Usually ships in 24 hours
Ships from and sold by Amazon.com
49 new or used available from $33.99
Average customer review:Product Description
"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.
Product Details
- Amazon Sales Rank: #157832 in Books
- Published on: 2006-02-20
- Original language: English
- Number of items: 1
- Binding: Paperback
- 1150 pages
Features
- ISBN13: 9780131872486
- Condition: USED - VERY GOOD
- Notes:
- Click here to view our Condition Guide and Shipping Prices
Editorial Reviews
Amazon.com Review
Perfect for migrating to Java from a fellow object-oriented language (such as C++), the second edition of Thinking in Java continues the earlier version's thoughtful approach to learning Java inside and out, while also bringing it up to speed with some of the latest in Java 2 features. This massive tutorial covers many of the nooks and crannies of the language, which is of great value in the programming world.
The most prominent feature of the book is its diligent and extremely thorough treatment of the Java language, with special attention to object design. (For instance, 10 pages of sample code show all of the available operators.) Some of the best thinking about objects is in this book, including when to use composition over inheritance. The esoteric details of Java in regard to defining classes are thoroughly laid out. (The material on interfaces, inner classes, and designing for reuse will please any expert.) Each section also has sample exercises that let you try out and expand your Java knowledge.
Besides getting the reader to "think in objects," Thinking in Java also covers other APIs in Java 2. Excellent sections include an in-depth tour of Java's collection and stream classes, and enterprise-level APIs like servlets, JSPs, EJBs, and RMI. Weighing in at over 1,000 pages, any reader who is serious about learning Java inside and out will want to take a look at this superior resource on some of the latest and most advanced thinking in object design. --Richard Dragan
Topics covered:
Review
"This book is a tremendous achievement. You owe it to yourself to have a copy on your shelf. The chapter on iostreams is the most comprehensive and understandable treatment of that subject Ive seen to date." - Al Stevens Contributing Editor, Doctor Dobbs Journal" Eckels book is the only one to so clearly explain how to rethink program construction for object orientation. That the book is also an excellent tutorial on the ins and outs of C++ is an added bonus." - Andrew Binstock Editor, Unix Review"Bruce continues to amaze me with his insight into C++, and Thinking in C++ is his best collection of ideas yet. If you want clear answers to difficult questions about C++, buy this outstanding book." - Gary Entsminger Author, The Tao of Objects"Thinking in C++ patiently and methodically explores the issues of when and how to use inlines, references, operator overloading, inheritance, and dynamic objects, as well as advanced topics such as the proper use of templates, exceptions and multiple inheritance. The entire effort is woven in a fabric that includes Eckels own philosophy of object and program design. A must for every C++ developers bookshelf, Thinking in C++ is the one C++ you must have if youre doing serious development with C++." - Richard Hale Shaw Contributing Editor, PC Magazine
From the Back Cover
“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.”Awards for Thinking in Java
—Robert S. Stephenson
2003 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.
Customer Reviews
*Excellent content *Dour presentation *hard for novice
rating 4.5.
First of all this book was freely available online. That was how it was written I believe: posted, public review, correction. A novel approach.
This books is plain inside. His prose and explanations were ostly good, but a time just a little too verbose for me (no criticism but it just didn't do it for me: I prefer succint explanation + example: he can wax lyrical just a little bit, which lends some warmth to the work, but also for busy people uneeded....so it's a personal judgement). The code examples in the book are probably the ugliest I've ever seen in a while (font wise...the code is presented as pages and pages and pages of monospace...ah the humanity! Very intimidating for the novice! Compare to deitel: colored!)
Seriously, given the process this book went through: continual public online review, editing and criticism, means the errors are minimal and the content focused on what you need to know as guaranteed by peer-reivew (not a bunch of superfluous, repitition nonsense that pad out Deitel books)...This is a really great book that was diminished a little through corner cutting by a publisher. If you can get beyond the mediocre presentation, then you find an excellent book for the above novice programmer. It's quite a philosophical journey through the heart of Java at times. And coverage of most topics is quite strong (if a little weirdly ordered at times...but then that's a personal thing: eg. the introduction that the beginning is quite deep and intrduces some heavy-ish concecpts straight off the bat...but again this is a personal judgement: objects first or basics first? its 50-50 either way?)
Actually I should clarify that: if you're a beginner: This book is not for you I don't think. I tutor a student who is just starting out in Java programming and he managed to get about 20 pages into this brick and then quit -> he said it was too hard. He opened it, looked at the code and his jaw dropped!
Having read this book I can understand why. The presentation is not conducive to the beginner who needs more guidance through concepts rather than just slabs of text. That's the problem with writing a book this way (publically post-review-correct): the only people who interact are people who already know some Java or a lot of Java so this skews the process toward producing a book for them. Most beginners probably have never heard of Bruce Eckel and thereby didn't contribute to the making of this book. Hence they have been somehwat excluded from the process.
I can wade through pages of monspace Java code because I am not a beginner. But this is probably too overwhelming for one new to the language (it just hits them too hard I think). I recommend Kathy Sierra's Headfirst Java (foremost for the beginner!). FOr everybody else...what they hey why not! It's pretty good value and not a insipid and dumb as Deitel. And it's more concrete that Van Der Linden. It and Ivor Horton's Beginning Java are on about par I feel, for different reasons: Bruce, the language coverage (depth far exceeds Ivor!). Ivor: for breadth and succinctness. I feel Bruce is wanting you to understand backward-forwards-upwards-downwards-inside-out the language. Not dazzle you with simple Swing stuff (which only works for novices anyway). When you're finished Kathy Sierra, come back and try this. YOu'll be ready by then!
Hopefully version 4 they'll put a bit more effort into the graphical arrangement of the book: a few diagrams here and there wouldn't hurt...just to break the monotony. Seriously I think Bruce should get a new publisher...one who will fulfill his vision, not impede it with their cheapness.
COntent wise: VERY good. Doesn't wallow in the cheap ooh-ahh factor of Swing that much, but does the langauge very well (I wasn't overly fussed on treatment of inner classes...but that's a personal thing I guess). Still this is one of the benchmark books for begining/intermediate programmers and that didn't happen by accident!
And as one of the benchmark books
Thinking in Java: Bruce Eckel
Beginning Java: Ivor Horton
Just Java 2: Peter Van Der Linden
How to Program Java: Deitel & Deitel
Core Java 2: Horstmann
I would rate them as such (in order):
For beginners: Horton, Eckel, Deitel, Horstmann, Van Der Linden
For Intermediate: Eckel, Van Der Linden, Horton, Horstmann, Deitel
Best all round: Eckel, Horton, van Der Linden, horstmann, Deitel
best visual layout/ quality of publication: deitel, Van Der Linden, Horton, Horstmann, Eckel
broadest view: van der linden, eckel, Horton, Deitel, Horstmann
most useful code: horstmann, deitel = eckel = horton, van der linden
value for money: eckel, horton, van der linden, horstmann, deitel
Great book as far as basic language goes; poor Swing
The book is great! I particularly enjoyed the following chapters:
- inner classes (this chapter kicks serious butts; far better than even Core Java 4th edition's chapter on them)
- the Class class and its usage (same stands for reflection)
- discussing the Collection classes just kicks ass - Just Java 1.2, the only book Ive read that contains SOME info on these classes is far less comprehensive. Bruce kicks ass!
- I also loved the chapter on threads - this book is the only one (I've read several Java2 books) to discuss WHY suspend/resume/ stop are deprecated in Java2 (actually, the reason for deprecating stop() is a bit misleading - the author should have stressed that it's exiting run() from _inside_ an atomic operation that causes the problem here). Just Java 1.2 doesn't even try to discuss the problem of these three methods.
- I really liked it that Bruce Eckel always prefers experimenting to repeating what the Language Specification says
- the remarks scattered in the book are particularly cool. Even Core Java 4th ed lacks the number and depth of remarks, not to speak of other books (Just Java 1.2 is even worse in this respect)
The bad points of the book:
- the Swing chapter sucks... it needs REAL update. There are no other JFC libs, either - there is no Java2D, accessibility, drag-and-drop etc.
- the discussion of sing the clipboard is far worse than that of Core Java 3rd ed. vol.2.
- the same stands for 1.1/1.2 security - both Core Java 3rd ed. vol.2. (1.1) and Just Java 1.2 (1.2) are better in this respect
- the same stands for i18n
- the introduction to CORBA was particularly weak (not that other Java-books are good in this respect)
- the author pays too much attention to the 1.0 event model - it's unnecessary. Most widgets are presented first using the 1.0 even model - do NOT teach your students 1.0 event model. At least, we at Sun Microsystems do NOT teach it any more - why would we confuse our students? So, all widget presentations should be rewritten to use the 1.1 event model.
- nextToken()'s return value when there are no more tokens is NOT an empty String but a NoSuchElementException
- there is no GridBagLayout in the book (not that I use it.. I dont even teach it at our courses).
- PipedOutputStream's constructor param is NOT an PipedInputStream instance (only the other way round)
I still LOVE the book and recommend it to my students. You should get Core Java Foundation Classes and Core Java in addition to this book, though.
Thinking in Java
If your are new to Java or just the whole OOP programming concept, this is the book for you.
Here is my story:
In the beginning of Sept. of 1999 I started read Bruce's Thinking in Java with only a structured programming background. I had previously done some programming in a language called CSP (a Cobal generator) on the mainframe and had some experience with VB and C. A friend and I made a commitment to get java certified by January of 2000 or around then because if we were going to learn java, might as well do it the right way. So, through five month of reading and doing almost every example in the book, I was java certified on January 14. The point I am trying to make is 1. use this book as a launch pad into the java and OOP world, 2. I would recommend learning Java with a friend because it is easier for you to stay focused on the true goal, and 3. do all of the examples in the book. This, obiously is not the only way to learn, however, it was a way that helped me.
Note: I was working full time.
So, I would recommend "Thinking in Java" for beginners and intermediates programmers







