Hi Gregg,
Great series of questions!
And it gives me the opportunity to get on my soapbox, and throw a few opinions up in the air!
(Always appreciated!)
If you are teaching yourself by buying API-specific books, like a book on Swing, a book on JDBC,
then I would certainly agree that you are at least an intermediate level Java programmer. Many of
those books are very good indeed, and some of them were written by people who designed the
APIs (I am thinking of the Swing and JDBC books from Sun here - those volumes are just crammed
with relevant knowledge).
My own text,
Just Java was originally written all the way back in 1995, before the first release
JDK 1.0 release of Java. At that time, I could see that Java was a really important development
in the world of software, and I wanted to get information about it in front of busy software
professionals in a form they could easily and quickly assimilate.
Java has had 5 more major releases since 1995, and for each of them, I have completely revised
and updated
Just Java. I track changes in both the language and the libraries, and pull them
together in one place for readers. My aim has always been to present a single volume that is
not overwhelming, and that covers the language and the most popular libraries. There is a reason this text has been in print nearly 10 years when so many other Java books have come and gone. I take a lot of care to keep the book up-to-date with the fast-evolving Java world.
Over the years, the concept of "the most popular libraries" has changed. Early on, I
dropped coverage of
applets to make room for JDBC (databases) and that was a very good call.
Later I added Collection classes, and in the latest edition I expanded that to a full chapter on
its own. The current edition has a new chapter on Web Services, which I think is going to be
a very important technology in the years ahead. It is being built into many online systems
of the past 2 years, but it still has a low profile because of the simplicity of the basic technique.
Of course, enumerated types, and generic types get their own chapter. These chapters were
read by a large number of programmers before I committed them to print. I was able to
improve them significantly with this feedback, and I think you'll find they set the standard for
describing enums and generics. You probably haven't seen much of these new features
yet, nor other ones I explain, like variable-arity methods, and covariant return types.
In addition, I try to share experiences that practising programmers and computer science
students can relate to - amazing bugs, pitfalls, bad design choices (Java certainly has its
share of those), war stories and the like. Each chapter ends with a kind of war story that I
call "Light Relief". Some readers send me email and ask for a whole book of Light Relief!
As an example, one Light Relief concerns the web competition I ran to sponsor the creation
of a programmable Furby (animated doll of a few years ago) - how the competition was won
with an Intel 8051 mod, and how I subsequently did the FCC part A and B
testing on the
result.
What I am saying here is that, unlike many other texts,
Just Java takes a wide-ranging
look at Java, and has a great deal of new and original material that you won't find
anywhere else. And that changes in each edition. If you like that kind of style, then this will be a
good book for you. Some people don't like that kind of style. and they might be happier with the
language reference manual (if there was a fully up-to-date one), or even no book at all. There is
the beginner material, because I don't want to leave anyone behind on classes, objects and
inheritance. But there also a lot of more sophisticated material that you will find useful.
Since Amazon now offers a very easy way for people to sell books online, I never have any
hesitation in buying a book. Just buy it, read it, and if it wasn't quite what I was looking for,
I can re-sell it and re-coup almost all my investment, less postage! After all, we are IT
professionals, and we live and die by the quality of our knowledge. Time spent learning new
things that are relevant to our profession is a very good investment.
Let me close by saying that I just received the humbling news that
Just Java, 6th Ed has
been nominated (along with a dozen other texts) for the "Best Java Book of 2004".
In 2002, the 5th edition of Just Java was similarly nominated, and in that case I was nudged
out by Josh Bloch's excellent "Effective Java" book, which fully deserved the top slot. Josh was
the chief Java API designer for several years at Sun, and has now moved on to work at Google.
So maybe [B]Just Java, 6th Ed[B] will have a shot at Java Book of the Year this time round!
Voting opens soon, so bookmark [URL=
http://sys-con.com/java/readerschoice2004/] http://sys-con.com/java/readerschoice2004/[/URL] and check back periodically to vote for the book of
your choice.
This suggestion wouldn't be complete without me pointing out that the 5th edition had a light
relief story in the Networking chapter that explained how to write Java code to rig an online poll!
However, I dropped that from the sixth edition in favor of a story about "The 500 mile limit on email". Maybe I should put the "poll rigging" Java code online at my web site
at
http://afu.com ...
Cheers,
Peter