Am looking for a Java tutorial with the following specifications:
Assumes a prior programming background (of course, not including Java).
Takes up non-trivial problems as examples.
Emphasis on what the JDK library has to offer.
Introduces new language features as and when necessary.
Does not try to explain every Java feature, but just enough to get up to speed.
Not necessarily focussed on meeting any certification requirement (but if does so incidentally that is fine -- usually such books try to be exhaustive).
Not too much of fluff (not more than say 300 pages).
At the end of my reading this tutorial, I would like to -
- know of the typical gotchas and language traps (I understand Java has far fewer of these compared to C++),
- be judicious in the choice of picking the right container for the right purpose,
- generally be aware of problems that have (almost) ready-made solutions in the JDK library.
- be, at most, a few months older than when I started
To give you such tutorial examples from other programming languages, I would say "Accelerated C++" by Koenig and Moo or "Learning Perl" by Schwartz et al.
I searched the archives a bit, and I find the people tend to recommend "Core Java" by Horstman and Cornell, but the books (two volumes) are quite big (a very superficial assessment, I admit). Flanagan's "Java in a Nutshell" tends to be more of a reference than a tutorial.
Advice and suggestions appreciated, - Anand Hariharan [ March 31, 2007: Message edited by: Anand Hariharan ]
"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." -- Antoine de Saint-Exupery
Originally posted by Anand Hariharan: ...I search the archives a bit, and I find the people tend to recommend "Core Java" by Horstman and Cornell, but the books (two volumes) are quite big (a very superficial assessment, I admit)...
For what you're describing, the Core Java volumes might be your best bet. Yes, there are a lot of pages, but with prior experience, it's a surprisingly fast and informative read. (For true beginners, I think these volumes might be a bit frustrating.) I would also recommend the 4th edition of Bruce Eckel's Thinking in Java, which makes a lot of comparisons to C++ and points out a fair amount of Java "traps." [ March 31, 2007: Message edited by: marc weber ]
"We're kind of on the level of crossword puzzle writers... And no one ever goes to them and gives them an award." ~Joe Strummer sscce.org
Sincere thanks to you both for your replies. I must admit, though, that those weren't the answers I was looking forward to. If you were to take a moment of either of the books I mentioned in my original post (actually K&R's TCPL, Fowler's UML Distilled and Gang of Four's Design Patterns all make fine examples), you would understand what I mean.
There is something to be said for succinct writing, which, sadly, we don't find too many examples of.