Thinking In Java 3rd Edition Available Online
slothdog writes "Bruce Eckel has made the new 3rd edition of Thinking in Java (and other books) available online. This is a more introductory-level book, although there is a work in progress on Thinking in Patterns and one on the way entitled Thinking in Enterprise Java. All in all, an excellent book for someone not yet familiar with Java. Kudos to Bruce for making it available for download!"
Prevent email address forgery. Publish SPF records for y
3-4 years ago I downloaded the first online revision of his ebook. I printed out all 200+ pages and went through it one chapter at a time. After about 2-3 weeks, I was working away in JAVA and that book was probably one of the more influential elements in my career as a programmer. I am glad that Bruce has made his material free for use. I have since purchased copies of thinking in JAVA and thinking in C++. The Thinking in JAVA book has probably taught me more about OOP than any other book I have read on the subject.
:) Bruce has a way of putting his concepts and lessons across in ways that are comprehensible and easily graspable. At the time when I picked up that book, I had considered JAVA as a language to add to my plate, but found the task of teaching myself JAVA quite daunting. Since I have been working exclusively with JAVA and am still learning new things all the time.
I recommend that books to anyone that would like to venture into the wild world of JAVA, whether you be an experienced programmer or someone who would like to be one some day.
Correct me if I'm wrong, but SWT isn't part of Java; It's an add on from IBM. Bruce Eckel's book is to teach you the Java language as it comes from Sun.
Actually, in the third edition he covers Ant and JUnit in addition to the standard libraries. In the preface, Eckel describes the book as an explanation of the fundamentals of Java. I think it's fair to say that SWT was left out because it is far from being a fundamental part of the language.
The addition of Ant to the book, IMHO is absolutely necessary (event if it isn't part of the standard). Understanding Ant should be every bit as important as some of the other topics in this book (I won't choose any examples, so not to start a flame war).I bought this when I decided to learn Java, on the advice of numerous online recommendations, and dutifully slogged through it for a few months. Finally I gave up, and later bought The Java Programming Language and learned everything I needed to know in a couple of weeks. For those who understand basic OO principles, and have at least one language under their belt already, TiJ is extremely slow going. The book is cluttered up with lengthy, tedious, contrived examples that sometimes take up several pages of often highly repetative code. Rather than use code snippets to illustrate new concepts, this book tends to repeat entire programs over and over again with just a few lines changed. Combine this with an enourmous font that causes the code to actually be less readable because so many lines have to be truncated and you have a book that's far thicker than it needs to be.
Bruce himself is a somewhat dubious source for programming know-how, having something of a reputation for jumping onto each passing development fad with a passion and then discarding it with a sniff when the next shiny object comes along. He's also notorious in the Ruby community for publishing a scathing, and completely innaccurate, critique of the Ruby language despite admitting that he hadn't bothered to learn much about it. This is highly unproffessional behavior IMHO, and has colored my perception of anything he's said since.
I do recommend TiJ for a casual programmer who has decided that Java is going to be their introduction to OO programming. It does a good job of explaining OO principles and demonstrating how they can be implemented in Java.
--
CPAN rules. - Guido van Rossum
But seriously, this is a great book! Not just about java, but OO techniques in general.
Apparently at the beginning of November they changed it to where instead of being a free unrestricted download it's a $10 unprintable PDF. This was done since universities were cancelling their orders for the book since students could print it out (using university resources no less), which they decided was unfair to them (the author/publisher). The book itself isn't out until February.
Now here's the question I have - what does this say about C# or Java that the universities (presumably) aren't doing this same thing with Java? They don't mind that anyone can download TiJ for free and print it out, but they do mind for TiC#? In his FAQ Eckel goes on about how it's a good thing professors can use his book in classes before it comes out for real - now that's a bad thing?
I guess the main thing is that it smacks of the same sort of drama that surrounded the University of Waterloo and their teaching of C# (they were to recieve $1M from Microsoft, but then Waterloo decided to stew on the idea for a year).
Schnapple
Is there an abridged version of the 3rd edition that only has the changes? I am just now finishing the TIJ 2nd Edition, which I purchased in hardcopy because I found the first three chapters (which I read from the free download) to be extremely informative and enlightening.
Yes, it's taken me months to get through the thousand pages in this book (i have a full time job and a life, so no, I didn't finish it in a few weeks), but I'd like to read the things he's added to the 3rd edition.
"First you gotta do the truffle shuffle."