New releases get two thumbs up

The hottest area in programming now is Web applications, and since its release, Java has captured a lot of attention. Although many people think they can quickly throw together Java applications, they can't. Anyone who has thought about building Java applications knows that Java is not a simple scripting language for creating quick Web applets. Rather, it's a powerful object-oriented programming language that resembles C++. Indeed, Java comes from C and C++. Programmers familiar with objects and C++ will have a head start on understanding Java. Java for C/C++ Programmers builds on that foundation and leverages the reader's experience.

The author, Michael C. Daconta, briefly introduces Java and its origins and predicts that Java, with its robustness and portability, will overtake C and C++. He thinks Java will soon become the premiere language for standalone applications. Time will tell whether he's right. In the meantime, he's doing his best to make this prediction a reality.

Interestingly, Daconta is an accomplished C programmer who has published books on pointers and dynamic memory management--Java does away with both features. He says Java's benefits justify moving from C code and pointers, which are useful in the right hands but problematic in a lot of code currently in use.

If you're not a C or C++ programmer, this book is not for you. If you are and you plan to learn Java, this book can be a good investment of your time. Daconta jumps right in with a Java program that prints "Hello World" and compares it to the same process in C. Expanding on this comparison, he describes Java's features and compares them to ANSI C and C++.

The author devotes a substantial section of the book to the Java class hierarchy, which in C terms, is the same as the standard library. Java has many features not in C or C++ because its developers took the parts they needed from C and C++ and added features from other object-oriented languages, including Ada, Smalltalk, and Eiffel. Daconta discusses these features in detail, with lots of examples.

One of Java's advantages over other object-oriented programming languages is its portability. The author explains the Abstract Window Toolkit, a platform-independent interface that lets the programmer develop a GUI that will run on any mainstream platform. Code examples illustrate the author's points.

Even if Daconta believes Java will become the universal programming language, most people think of the Internet when they hear Java. The author describes Hot Java, applets, and JavaScript, and explains how to use them to build Web sites. He is careful to distinguish between Java, a programming language, and JavaScript, a scripting tool. This distinction is worth making because a lot of Internet surfers think Java is easy to use. Java for C/C++ Programmers makes clear that to write applications with Java, you need a programming background and an understanding of C code and object-oriented programming. JavaScript is far less complex and has a shorter learning curve than Java.

The floppy disk that ships with this book includes more than 100 Java and JavaScript source code examples from the book. The disk also contains Java applications, such as a Java database management system, and a multithreaded application that shows how Java can take advantage of multithreaded OSs.

This book will take programmers beyond just writing Java applets and will get them started on more complex applications. The writing style is no-nonsense, almost terse, because the author assumes his readers are looking for technical detail and not another treatise on writing Web pages. Even so, his enthusiasm and belief in both the power and the future of Java come through. As long as you're comfortable with a book that contains many pages of code and you have some experience with C and C++, I recommend this book.

Java for C/C++ Programmers
Author: Michael C. Daconta
Publisher: John Wiley & Sons, New York, 1996
ISBN 0-471-15324-9
Price: $39.95, 443 pages