Java 2, The Complete Reference does precisely what the title suggests, it provides a quick reference, for amateur, intermediate and advanced Java programmers. Before we attempt to make Herbert Schildt, squirm by scrutinizing his work, lets consider the Java language first and well be in a position to state whether Schildt does justice to this wonderful language in his book.
Java is a an object oriented language, designed with the internet specifically in mind. It was created by some incredibly talented people at Sun Microsystems. A few years back, web pages were no more than mundane static pages, whcih could do little else apart from displaying formatted text and simple graphics. By the late 90s Java had changed the face of the net radically. The basic underlying theory is that most computers which access the net (clients) are powerful machines, whose potential was grossly underutilised by the primitive net. Java made it possible for these clients to run small independant programs, on the local bowser, independant of the platform or the OS. This is referred to as Client-side prorgamming. This was a major shift from other languages such as C++ and Pascal which had their own compilers, which was platform dependant. Effectively, programs compiled in a Windows based system could not be executed on a Mac and vice versa. It is also incredibly safe to use as Java operates in what is known as a sand-box enviorement and the scope of its operations is determined by the JVM (Java Virtual machine) on the client machine and Java programmers had limited access to the clients memory and other resources. Why do we need the JVM? well, Java source code is not directly transformed into machine code unlike other conventional languages. Its is converted to an intermediary form known as Byte code, which is then read by the JVM and does things accordingly. A java compliant bowser makes it possible for small java applications or applets (SAT 1 verbal analogy question : Pig is to piglet as Application is to?) to run directly on the browser and thus making the net far more productive that it ever was .
From the programmers point of view, Java is an extremely graceful language; its high levels of object orientation is a far cry from the traditional procedural languages of the days of yore. Its syntax is similar to that of C++ and its embraces its virtues and eliminates its shortcomings. The creators of Java had dome away totally with pointers and memory allocation which made a programmers life tough under C++. The real power of Java lies in its extensive class libraries which includes exciting GUI components such as AWT and Swing. The programer needs to just concentrate on the program logic and everything else is taken care of by the language itself. Java also features advanced multithreading and networking features, non-existant in C++. The JDBC (Java DataBase Connectivity) drivers makes the job of online database retrieval and handling a childs play, and they are used extensively in online warehousing applications.
Thats enough said about the language, lets now divert our focus on the book itself. After using it as a constant source of reference, it became evident to me that Schildt did not design this book to be a text or a Java programmers bible. The books deals with the basic concept and structure of the java language quite well, but it does skimp on the explanation of OOP concepts and program logic. It however, does a good job of providing descriptions of the various methods and interfaces available under a class library and enumerates the same with an example. There are loads of examples and the source codes are freely available on the publishers web-site. The layout is quite reader-friendly, but the font used for the code is rather faint. (Courier #10). The book is also comprehensive in its approach, I think its a good tradeoff between brevity and exhaustivity. In case youre new to the Java language, or youre migrating from C++ youd be at home with Bruce Eckels thinking in Java, which provides a reader with a virtual tour of the Java Language. The moment youre more comfortable, you should graduate to Core Java by James Gosling (the Creator of Java) . In case you need more comprehensive material on the JFC (Java Foundation Classes), comprising of AWT, Swing and Java2D classes, you would find the Graphic Java Series by OGeary handy. There are numerous other titles available in the market, and you have to pick one as per your requirements.
So where does this all leave Java2, The Complete Refrence? As I said before, and Im being redundant, this is but a valuable source of reference. For example, you want to find out about the Timer() class, you could quickly look it up in Schidlts nifty book. In case you want resouces on native Java compilation , you have no options but to look elsewhere. In any case, the JDK Documention should take care of your programmming needs (available freely at the Sun Microsystems site). The Complete Reference is basically a hitchhikers guide to Java, and so if youre familiar with the language as such, The Complete Reference should be in a position to assist you in your programming problems.