||New Reviews| |Software Methodologies| |Popular Science| |AI/Machine Learning| |Programming| |Java| |Linux/Open Source| |XML| |Software Tools| |Other| |Web| |Tutorials| |All By Date| |All By Title| |Resources| |About||
Keywords: Linux, Java, J2EE, Eclipse, NetBeans, open source
Title: Java Application Development On Linux
Authors: Carl Albing and Michael Schwarz
Publisher: Prentice Hall
Level: Introductory Linux and Java
Verdict: Good coverage of Java tools on Linux.
In attempting to cover both Java development and Linux the authors of this addition to Bruce Perens' Open Source series have taken on a huge topic. The potential readership encompasses both those who are experienced Java developers who are new to Linux and those who are new to Java but know their way around Linux, and everyone else in between. The problem with this, of course, is that the needs of the Java expert conflict with those of the Linux expert.
For the experienced Java programmer interested in switching to Linux the main interest must surely be in getting to grips with Linux, learning how it works and why, finding out about any idiosyncrasies that effect Java and finally gaining an understanding of the tools landscape. Unfortunately the book is better at some of this stuff and not so good at other bits.
On the other hand the Linux hacker wanting to switch to Java is going to be more interested in learning the language, gaining an understanding of object oriented concepts in addition to syntax, working out how Java can interact with the operating system and finally gaining an understanding of the tools landscape. Again the book succeeds more in some areas than others.
For example the coverage of tools is excellent. Not only is there coverage of Sun's Java SDK, which almost all Java books cover, there is also coverage of IBM's Java Development Kit for Linux. Better still the book shows how Linux can enable multiple Java development kits to live side-by-side as good citizens. There is also a chapter that looks at the GNU compiler for Java (gcj). In addition to compilation, the book includes good coverage of a wide range of supporting tools. This includes CVS for source control and Ant for automating builds.
There is also coverage of two open-source integrated development environments for Java - Eclipse and NetBeans are both explored. Note however that these environments are not Linux-specific, though there's no harm in including them here.
So far so good, this type of material is likely to be useful for all readers interested in Java on Linux. However from here on the material tends increasingly to be generic Java-related rather than stuff specific to Linux. This sort of material, covering everything from database access using JDBC, JSP, GUI building (using Swing and SWT) and so on, is covered in more detail in many Java tutorials and books. Existing Java developers are unlikely to discover anything new, and those new to the language are only going to get a very high-level view.
For the 'new to Linux' reader the coverage of the operating system is also fairly light compared to what you'd find in a good Linux primer. There's enough to get started but not enough to really get proficient. There are lots of pointers to additional materials, particularly books, but it would have been good to provide of a grounding in Linux.
The 'new to Java' reader is also likely to feel that some of the material is too light. Again there's enough to get started but not enough to get proficient. The pointers to additional material, such as Bruce Eckel's 'Thinking In Java', are useful but they high-light the fact that this book isn't a sufficient introduction to Java.
To give the authors credit, the writing is engaging and chatty without being condescending or arrogant. It's definitely a readable book, and the open-source advocacy is nicely pitched too. However the book suffers from trying to target too-wide an audience. There are lots of books on Java, and our Java book reviews index includes recommendations for good titles for people of different levels of experience. There are also lots of generic Linux books to chose from.
A book specifically targeted at the Java programmer migrating to Linux from Windows or other platform is really what is missing from the market. This book gets close but there's too much introductory Java material to really succeed the way it ought to.