PDA

View Full Version : The book "Thinking in Java" still relevant?



Quake
May 29th, 2010, 05:20 PM
In another thread, some people recommended me the book "Thinking in Java". It was published in 2006. I wonder if the book is still relevant.

Which year will be the most up-to date?

Redache
May 29th, 2010, 05:55 PM
The fundamentals of the book will still apply, not much has changed in Java since then. Java 7 will have some new features but learning the core language will still be the same regardless of year.

Queue29
May 29th, 2010, 06:00 PM
They key feature that might be missing is Generics, which is a very fundamental change to the language. If it's based on Java 1.5 or up, then I'd say it's still a relevant book. If it's 1.4 or previous, then junk it.

Quake
May 29th, 2010, 06:01 PM
Thanks... But I see the book is a little bit expensive for my liking (student poor).
The university has the 2003 edition book, will that one be still relevant?

Edit: Queue29, here's the PDF of the book, do you think the 2003 version is still relevant? http://www.mindviewinc.com/downloads/TIJ-3rd-edition4.0.zip

vamega
May 29th, 2010, 08:16 PM
I've been programming in Java for over four years now, and I'd highly recommend the book. It's not a beginners book for learning java, and hence it doesn't bother with introducing you to the language. However it talks about a lot of intricacies and gives you a very deep understanding of the language.

I think the website of the book has the latest edition in an ebook format. Perhaps you could get it there?

Quake
May 29th, 2010, 08:22 PM
Thanks Vamega. I'm not a beginner per se but my second java course is all about Objects, so I want to get a hang of it before I begin the course.

Quake
July 17th, 2010, 01:18 AM
I'm sorry to revive this thread but I had to... I've just picked up the book and WOW, the explanation is very logical. He wants to really explain to you the internal working of Java.

Better than going to the Java course.

KdotJ
July 17th, 2010, 01:35 AM
I might have a look into this book, or maybe look for one with generics. Lol, I used a book from 2000 (ish) to learn java lol, the book talked about Windows ME and how sun have a new GUI toolkit named Swing...

PaulM1985
July 17th, 2010, 12:10 PM
I sort of agree with Queue, Java 1.5 was pretty significant so I would aim for something based on that or newer. This is based on 1.4 according to the preface. It still would be worth a read but try to get something from 1.5 onward.

Paul

Quake
July 18th, 2010, 06:59 AM
I sort of agree with Queue, Java 1.5 was pretty significant so I would aim for something based on that or newer. This is based on 1.4 according to the preface. It still would be worth a read but try to get something from 1.5 onward.

Paul
The 3rd revision (2003) is based on Java 1.4?

kahumba
July 18th, 2010, 07:05 AM
Folks, if you're planning creating serious/paid apps you must aim for 1.5 and above, because the language starting with 1.5 has changed a lot and you have to have really serious reasons to write a lot of Java code using the deprecated style from 1.4 if you know what I mean. Moreover, by the time you get to know Java well - versions 1.4 and below will be even "more deprecated".
Thinking in Java is good for learning the Java logic (java.lang/java.util and friends) but not desktop apps (modern swing/desktop).

PaulM1985
July 18th, 2010, 12:17 PM
The 3rd revision (2003) is based on Java 1.4?

I downloaded the files from the link you posted previously. The preface says that it is based on 1.4.

Paul

Quake
July 18th, 2010, 05:42 PM
I downloaded the files from the link you posted previously. The preface says that it is based on 1.4.

Paul

WAAAAA damnit! I guess I'll have to buy the fourth edition.

Quake
July 18th, 2010, 05:47 PM
Thinking in Java is good for learning the Java logic (java.lang/java.util and friends) but not desktop apps (modern swing/desktop).
I need to understand the java logic because that's all I do in the course. We learn the fundamental of the language. But I guess the forth edition (2006) is the best way to go.

Quake
August 5th, 2010, 11:50 PM
Ok, right now, I'm pissed. I brought the 4th edition and lo and behold... to actually get the answers of the exercises, I need to buy the PDF file "The thinking in Java Annotated Solution Guide".

It's ridiculous. I will perhaps return the book and search for another one.

KdotJ
August 6th, 2010, 01:17 AM
Ok, right now, I'm pissed. I brought the 4th edition and low and behold... to actually get the answers of the exercises, I need to buy the PDF file "The thinking in Java Annotated Solution Guide".

It's ridiculous. I will perhaps return the book and search for another one.

That's bad. I was actually looking into buying this book, but now I will look elsewhere. Apologies for your disappointment but at least you have saved others like myself. Thank you

Quake
August 6th, 2010, 03:15 AM
It's like if the author is desperate and want to milk us to gain a profit, it's ridiculous!

The exact quote from the book:

Solutions to selected exercises can be found in the electronic document The Thinking in Java Annotated Solution Guide, available for sale from www.MindView.net (http://www.MindView.net)Perhaps I will get this book: http://www.amazon.ca/Head-First-Java-Kathy-Sierra/dp/0596009208/ref=sr_1_1?ie=UTF8&s=books&qid=1281060572&sr=8-1

kahumba
August 6th, 2010, 12:51 PM
More than that, he's been hired by Adobe to work (and promote) Flash/Flex so you can find lots of articles/interviews about him bragging how Java is bad (including as a solution for desktop apps and how Flex is better), like here
Does Anyone Really Care About Desktop Java? (http://www.artima.com/weblogs/viewpost.jsp?thread=234900)
or here
Java: Evolutionary Dead End (http://www.artima.com/weblogs/viewpost.jsp?thread=221903)
So he's now basically a biased master of half-truths so I wouldn't suggest anyone buying his books. Search for books which cover Java 6 and you won't regret. Anything below Java 6 is basically outdated and only for those who like retro and outdated Java perceptions.

KdotJ
August 6th, 2010, 05:33 PM
Lol

Does Anyone Really Care About Desktop Java?

He cared enough to write that massive book on it. I'll have to make best effort to stay clear of his work, he clearly doesn't have any solid beliefs in the language

Quake
August 6th, 2010, 06:33 PM
Right now, I think he's an hypocrite. And his explanation aren't to the point. "Don't worry about this code, we'll learn it later".

If you guys know any other Java books, let us know.

interval1066
August 6th, 2010, 10:44 PM
More than that, he's been hired by Adobe to work (and promote) Flash/Flex so you can find lots of articles/interviews about him bragging how Java is bad (including as a solution for desktop apps and how Flex is better), like here
Does Anyone Really Care About Desktop Java? (http://www.artima.com/weblogs/viewpost.jsp?thread=234900)
or here
Java: Evolutionary Dead End (http://www.artima.com/weblogs/viewpost.jsp?thread=221903)
So he's now basically a biased master of half-truths so I wouldn't suggest anyone buying his books. Search for books which cover Java 6 and you won't regret. Anything below Java 6 is basically outdated and only for those who like retro and outdated Java perceptions.

Aren't we talking about Bruce Eckel, the same Bruce Eckel who has a number of his "Thinking in..." titles available for free on his web site http://www.mindview.net/Books/TIJ/? Admittedly these are earlier editions but as has been noted before the fundamentals are still valid.

As for his opinions, well, opinions are like a part of the anatomy, but I think he's mostly right on Java. I have seen a number of well-executed desktop apps written in java, one really nice app is Azureus (not the newest, crapware one but the earlier one without all the advertising nags) and more recently the Arduino microcode IDE (google arduino if you don't know what it is).

But Java still has after-effects from Microsoft's largely successful attempts to dilute it in the late 90's (remember J#?) and its still has a (for the most part un-earned) reputation as being slow.

For my part the write once run anywhere promise of Java has been kind of a non-issue with advance of the GNU autotools and being and old C jock that simply makes java a non-starter for me. Why write it in Java when I can write it in a language *I* feel is more powerful and have been familiar with since the 1980s? Plus I get generics NOW and if I'm developing on Linux I get the new C++0x extensions NOW.

Plus if you want to write desktop apps I've been thoroughly impressed with C#; it probably offers more than java can provide, even though its a ~shudder~ Microsoft its really quite remarkable and well designed.

shkelzen
August 7th, 2010, 01:11 AM
Right now, I think he's an hypocrite. And his explanation aren't to the point. "Don't worry about this code, we'll learn it later".

If you guys know any other Java books, let us know.

After what I saw about him, I am really disappointed.

I do not know your level, but I would suggest:

Java: A beginner's guide, Herbert Shcildt

As you can see from the name, it is introductory, but it is really excellent book...

kahumba
August 7th, 2010, 01:18 AM
Aren't we talking about Bruce Eckel, the same Bruce Eckel who has a number of his "Thinking in..." titles available for free on his web site http://www.mindview.net/Books/TIJ/? Admittedly these are earlier editions but as has been noted before the fundamentals are still valid.

As for his opinions, well, opinions are like a part of the anatomy, but I think he's mostly right on Java. I have seen a number of well-executed desktop apps written in java, one really nice app is Azureus (not the newest, crapware one but the earlier one without all the advertising nags) and more recently the Arduino microcode IDE (google arduino if you don't know what it is).

But Java still has after-effects from Microsoft's largely successful attempts to dilute it in the late 90's (remember J#?) and its still has a (for the most part un-earned) reputation as being slow.

For my part the write once run anywhere promise of Java has been kind of a non-issue with advance of the GNU autotools and being and old C jock that simply makes java a non-starter for me. Why write it in Java when I can write it in a language *I* feel is more powerful and have been familiar with since the 1980s? Plus I get generics NOW and if I'm developing on Linux I get the new C++0x extensions NOW.

Plus if you want to write desktop apps I've been thoroughly impressed with C#; it probably offers more than java can provide, even though its a ~shudder~ Microsoft its really quite remarkable and well designed.
Did you just try to impress anyone with a little "history" and a few orange-to-apple comparisons?
Plus, you do know that C/C++/Java/C#/whatever have their own drawbacks and are _really_ different in different ways, do you? So please don't spread cheap fanboyism around through personal "impressions" and half-truths like C++ is better than Java, at least not in this thread for the Internet is littered with millions of such assertions and "feelings".
Plus, I'm creating a commercial Desktop app written in Java and so far my client likes it a lot better than the current C++ version - this is just one example that proves how you conveniently forgot that the developer is the biggest factor that often defines the quality of the applications, not the language. And this thread is the wrong place to brag about which language is better, really.