The Complete Reference – Second Edition
This handbook starts with History stating, "Java is not an enhanced HTML, but a migration from C++. HTML writes the tags for Java applications." Java is not to be confused with Javascript – They are two entirely different entities. This book is not to be confused with a tutorial or guide to learning programming. It is very extensive.
The authors statement:
"When the chronicle of computer languages is written, the following will be said: B led to C, C evolved into C++, and C++ set the stage for Java. To understand Java is to understand the reasons that drove its creation, the forces that shaped it, and the legacy it inherits. Like the successful computer languages that came before, Java is a blend of the best elements of its rich heritage combined with the innovative concepts required by its unique environment."
Great detail is given about its origin. Fortran was efficient, yet not a good systems code. Basic was easy to learn, yet not very powerful. These and Cobol relied on GOTO as a primary means of program control. These languages produced a "spaghetti code" – a mass of tangled jumps and conditions impossible to understand. Pascal was structured but did not include necessary features applicable to a wide range of programs. Language problems created the need for C. C++ came along to manage long programs (25,000 – 100,000 lines of code - also adding object oriented features). This set the stage for Java environment.
Although in the 70’s, C came into invention (crediting Dennis Ritchie and Brian Kerringhan) for the Unix operating systems, it was not standardized until 1989. This marked the beginning of "Modern Age" computer language. James Gosling & a team at Sun Microsystems, Inc. (1991) conceived Java initially called "Oak" renamed "Java" in 1995. It was a portable platform language that could be used to produce code to run a variety of CPU’s (first designed for software to run various electronic devices, such as microwave ovens and remote controls.) The WWW, of course, demands portable programs which led to Java’s large-scale success. Object Oriented Programming (OOP) is the core of Java. Java expands the universe of objects that can move freely in cyberspace. In a network, these are two broad categories for objects transmitting between the server and your personal computer: passive information and dynamic, active programs, for example, when you read e-mail (passive data,) and there is an object attached (a self-executed program – dynamic and active)
Java creates two types of programs: Applications (runs your computer under the operating system of that computer) and Applets (an application designed to be transmitted over the Internet and executed by a Java compatible Web Browser). An Applet is a tiny Java program capable of dynamic change with user input (not just the same sound or animation over and over). They are both portable and secure (meaning executable programs downloaded without fear of virus, plus firewalls for protection in transferring private information; for example; bank balances, credit cards, etc.) Bytecode is the key for being secure and portable. (Bytecode is a set of instructions designed to be executed by a virtual machine.) The manual discusses other Java buzzwords: Simple, Object Oriented, Robust, Multithreading and much more in great detail.
An overview of Java in Part 2 goes into the Java library, explaining classes. Basic examples and actual programs with precise definitions go on for chapters.
Networking is covered as well as a small section of Abstract Windows Toolkit: working with Windows, text and graphics. (Describing AWT in detail would be a book in itself.)
I particularly found the parts dealing with the Applet classes very useful and informative. The definitions of symbols and separators in actual writing of code are given. Java is a precisely typed code, which in the long run leaves less room for error.
A portion of the book deals with software development using Java. What is a "Java Bean?" Definitely not "Colombian Coffee" in this instance. It is a software component designed to be reusable in a variety of atmospheres. In plain English, for example, a button that generates a pie chart. Beans also form a complement to Active X, Microsoft’s software component architecture. Programs such as Internet Explorer, Microsoft Office and Visual Basics can serve as containers for these components. Browsers are beginning to sell Beans, plug-ins and other component software on-line.
A section is devoted to the Dynamic Billboard Applet. On the net, you see that change images – scripts - hot links or flash to multiple addresses and fade away. Again, the "Applet" is a revolutionary web tool. One of the most complicated Applets, the "Scrabblet" (a multi-player word game) is discussed. It consists of 1,400 lines of code in 11 classes.
The manual itself is just over 1,000 pages. The "Contents At A Glance" gives you an idea of the massive information in this book. When finished you might be familiar with words like:
I have not even touched on the information presented, but certainly have an increased understanding of programming after my study of this manual. I have a great respect for programmers and the pioneers of our "Computer Age Languages." An excellent presentation written in common English (at least the technical terms EXPLAINED!).
The Complete Reference Java 1.1 - Second Edition
Patrick Naughton & Herbert Schildt
OSBORNE Division McGraw-Hill Companies
ISBN 0-07-882436-2 - $39.95 USA - $59.95 CAN
Reviewed by: B Travis