Re: How far back can we go?
jaap wrote:
schreef Fritz Wuehler:
I'm finding some older Java books on the net. How far back in time is it
safe to use these books to learn Java? They seem to be putting out new
releases pretty often. Are they building on each other or is the old stu=
ff
outdated? I know a few procedural languages and I understand basic OO
concepts but I am having trouble learning Java. Thanks.
Most of the older things still work, but there are many very good new
features.
I learned Java a decade ago with the Java Tutorial, it is updated with
every version:
http://download.oracle.com/javase/tutorial/
The trouble with old books is twofold, or more - they often pitch disfavore=
d classes like 'Vector' and 'Hashtable' (replaced in 1998), and they don't =
give you the goodies that came about in recent versions, like the better me=
mory model for concurrent programming, collections enhancements and generic=
s, to name a few. This can even be harmful, as when older books neglect to=
tell you to construct Swing GUIs on the Event Dispatch Thread, or they rep=
eat canards about slow GC or inefficient concurrent locks.
As Jaap says, the tutorial is up to date, though it's also thin in parts. =
But the Tutorial Really Big Index does get one into some pretty good traini=
ng, and it's a great start even if it doesn't take you all the way.
A good second step would be to read, even study _Effective Java_, by Joshua=
Bloch (2nd ed.). http://java.sun.com/docs/books/effective/. Keep that boo=
k around - it gets better the more you know about Java.
As a rule of thumb stick with Java SE books that deal with version 5 (itsel=
f obsolete but close enough to 6) or later. There are just too many signif=
icant improvements between 1.4 and 5 (a.k.a. 1.5). Besides, 1.4 is truly a=
ncient and you don't want a zombie version eating your brain. If the book =
tries to get you to use 'java.util.Vector' or 'java.util.Hashtable', throw =
it out.
This is just the start of your fun. Wait until you get into Java EE, JPA, =
annotations, concurrent programming, various frameworks, ...
--
Lew