TechBookReport logo

Keywords: Java, J2SE 5.0, Java platform, Eclipse, NetBeans

Title: Learning Java, 3e

Authors: Patrick Niemeyer and Jonathan Knudsen

Publisher: O'Reilly

ISBN: 0596008732

Media: Book/CD

Level: Introductory Java

Verdict: Recommended


With this third edition of 'Learning Java', Patrick Niemeyer and Jonathan Knudsen have updated their comprehensive introduction and tutorial to cover the full range of Java 5.0 features, Eclipse 3.x, NetBeans 4.x, the Java Web Services Developer Pack and more. While this means that the book weighs in at a hefty 954 pages, it does provide a comprehensive single volume that covers a very wide range of material. Add to this a bundled CD that includes J2SE 5.0, NetBeans, Eclipse, Ant, Tomcat and the Beanshell scripting shell and you have an excellent package that provides the reader with a range of tools and topics for learning all aspects of Java.

However, page count and a packed CD count for nought if the quality of the writing isn't up to scratch. And it has to be pointed out that the 'introduction to Java' market is a crowded one, with a host of excellent titles available (with the best of these listed in our Java book recommendations).

The book is clearly aimed at people who want to learn Java and the Java APIs rather than for those people who want to learn to program. In other words it's assumed that the fundamentals of computer programming, such as looping and control flow are understood. This is a distinction worth making, if you are completely new to programming and want to learn programming using Java there are plenty of other books to consider.

The first part of the book introduces the Java platform and the language syntax. The mechanics of compiling and running code, the intricacies of the class path, objects and classes, generics and threads are all covered. This is the core material that every Java developer needs to know, and the authors do a good job in conveying the information in a clear and unambiguous manner. The writing avoids the pitfalls of being too dry and academic or too folksy or cute. It's pitched at the intelligent and attentive reader and it works really well.

Having delivered the core concepts the book shifts gears after chapter 10 to look at the main APIs which make Java such a capable and all-round language. This includes chapters on IO, network programming, web applications and web services, four chapters on GUI programming with Swing, JavaBeans, XML etc. Note that this doesn't cover J2EE, so topics such as database access using JDBC or dynamic web development using Java Server Pages (JSP) are not covered. While that's not unusual it's a shame that some of these couldn't have been touched on - though given the size of the book it's understandable that some things just couldn't make it.

In addition to coverage of the core APIs, the book also looks at the two leading open-source Java IDEs: NetBeans and Eclipse. The latter is covered in an appendix, while NetBeans is included in the chapter on JavaBeans. It's also worth noting that the Patrick Niemeyer's open source BeanShell project is also introduced in an appendix. Given the current level of interest in the Java community for dynamically typed languages, it's handy that one of the first and most successful Java experiments in this area is included with the book.

To conclude, then, this is a highly readable and competent Java tutorial. It covers a lot of ground but it does so in a manner that doesn't feel rushed or simplistic. It too joins our select list of Java book recommendations.

Hit the 'back' key in your browser to return to subject index page

Return to home page

Contents © TechBookReport 2005. Published October 31 2005