Hello,

I am thinking about becoming Java certified (SCJP) in Java 2 version 5. I am a technical writer and I'd like to expand my skills. Documenting databases and code are my favorite aspects of my job, and I feel learning Java would open up new doors into the kind of writing I like best. I am anxious to get up to speed. So I am thinking of one of the following two paths:

Purchase the current edition of "Thinking in Java" (covers the older version) by Bruce Eckel and work through it. Then purchase a specialized up-to-date Java certification book that explains the new features of version 5 in addition to what skills are needed to pass the test.

Option 1:

What I am wondering is how different are Java 2 versions 1.4 and 5? Would learning Java from a book geared toward the older version end up confusing me once I got to the point I could study specifically for the version 5 exam using a certification preparation book?

Pros: This option would allow me to get into Java earlier and therefore get certified earlier.

Cons: I may have to un-learn a lot of information when I focus my studies on the exam and would have wasted a lot of time on obsolete information.

Option 2:

My other option would be to get my feet wet, casually studying the electronic version of Thinking in Java, 3rd Edition, while waiting for the 4th edition in December (or whenever) before really diving in. Then purchase the 4th edition and study in earnest, and upon completion of Thinking in Java, getting a book that is focused on the exam.

Pros: Would have studied the current version of Java throughout my learning process.

Cons: Will take too long.

Either way, I'd need to purchase 2 books, I realize. I mention Thinking in Java because I've heard a LOT of good reviews on it, and I want to spend my tech-book money wisely. Are there any books out for Java 2 version 5 that are just as good as Eckel's book? I'm just wondering if I should put off studying Java in earnest until December when the Thinking in Java edition 4 comes out, or if I could dive into it now with what resources are currently available.

I have experience in programming other languages, but no experience with Java.

Thanks in advance.