Thinking In Java 3rd Edition Available Online 28
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!"
Legitimate... (Score:1)
Re:SWT? (Score:1)
Swing Sucks! Down with Swing! Up with SWT!!!!
Re:SWT? (Score:3, Insightful)
Re:SWT? (Score:4, Informative)
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).Re:SWT? (Score:3, Interesting)
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.
Re:SWT? (Score:1)
Note that AWT is covered in the first edition which can be downloaded for free and comes on a CD with the book.
See also footnotes 75 and 78.
Have you read the book?
Re:SWT? (Score:1)
I didn't read all thousand pages, no. Nor did I notice any footnotes that numbered as high as 75 and 78. The footnote I referred to was on page 780.
As for AWT, sure it's covered, but is SWT covered? Nope. This dispite the fact that it takes the best of AWT and Swing and combines them together in a stable, fast GUI package. The author talks about how great Eclipse [eclipse.org] is as an IDE, but decides to ignore the reason Eclipse is so wonderful... SWT.
LaTeX (Score:1, Flamebait)
Re:and a happy Microsoft to you (Score:3, Informative)
But seriously, this is a great book! Not just about java, but OO techniques in general.
3 or 4 years ago... (Score:4, Interesting)
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.
Re:3 or 4 years ago... (Score:1)
Thanks.
Re:3 or 4 years ago... (Score:5, Informative)
For this reason I DO NOT recommend this book to beginning programmers, programmers transitioning from COBOL and 4th gen languages or anyone who wants to start writing Java tomorrow. This is a book about understanding Java... it's not good for those who want to learn syntax or jump in to their first program.
Our company was making a transition from an old character based system to a Swing/J2EE system. I made the mistake of suggesting this book for use in the classroom. Our programmers were simply too impatient for it. All of our advanced programmers loved it and recommend it, but those who just wanted to join the project quickly (most of them, in our case) preferred Sun's Java Tutorial series.
Re:3 or 4 years ago... (Score:5, Informative)
After a few weeks of this I made a CD with the JavaDocs and Thinking in Java v2 on it. When they came with a question I would give them the CD and told them to copy it onto their computer. I showed them what the JavaDocs were useful for and showed them how Thinking in Java not only had great examples but explained the hows and whys of the language. This helped them understand how what they were doing made sense in a deeper way than if they had just read the example code.
The book was a big hit. It saved me a ton of time having to explain things and helped those guys become better programmers.
That said, v2 was much better than the beta version that I cut my teeth on way back when. Since it wasn't available in printed form at the time the professor made everbody buy a version she had printed out. Too bad she had repaginated it such that the page numbers in the index no longer mapped to the pages in the book.
Only suitable for those new to BOTH OO and Java (Score:3, Informative)
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 [amazon.com] 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.
Re:Only suitable for those new to BOTH OO and Java (Score:2, Insightful)
That way you really understand the code. And is fun too.
About the jumping reputation, well that is true, and I still read their C++ books way more than I will read their Java or something else books ever. I would like an update to te C++ series. But that's dreaming I know.
Thinking in C#? (Score:4, Interesting)
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).
Re:Thinking in C#? (Score:3, Insightful)
Translating a book about Java development concepts w/examples to C# makes about as much sense translating a book about Objective C to C++. You really aren't going to pick up on any of the special features/nuances of the language.
Re:Thinking in C#? (Score:3, Interesting)
It's even the other way around, this way you can really understand all the special features/nuances of the language.
Of course some chapters appear/dissapear completely, as some concepts has no translation. (STL in C++ and Threads in Java).
But it really makes sense.
Re:Thinking in C#? (Score:1, Funny)
You read Thinking in C++ and Thinking in Java at the same time, and your head didn't explode? Amazing!