Java is the language du jour, and plenty of books have been written about it. But with so many books available, new offerings should be something special. This one isn't.
Learning Java starts at the beginning with a "hello world"-style program that demonstrates using Sun's Java tools. Throughout, the book introduces features using examples--all thoroughly discussed and explained in as straightforward and jargon-free a manner as practicable.
A tricky aspect of Java is the way classes are related, so it's neat to see a whole chapter devoted to the subject early on. Even more opaque is the explicit use of threads. Again, this topic is made accessible in this text, especially with its discussion of thread synchronization. Basic graphics, video handling, and other media in Java are discussed, followed by Beans and the builder environment--but stopping short of JavaBeans. The book finishes with a section on applets, the Java plug-in, and digital signatures.
Overall, however, the reader gets no feeling of working toward a goal, and perhaps this would have been a better book if a project had been its theme. Another odd decision in the mix here was to ignore the several--some free--Java IDEs generally used to program Java. (The book makes a point of saying it hasn't discussed them but doesn't explain. Even beginners find Java more accessible in a programming environment.)
Still, Learning Java, which uses Java 2 v1.3, does a competent job of introducing the language to beginners. As with most O'Reilly books, it's authoritative, lucid, and well edited. Though this book may fail to inspire in the reader the presumed enthusiasm for Java felt by the authors, you won't go wrong with this one, and its coverage of object-oriented programming issues is particularly good. --Steve Patient, Amazon.co.uk