Angelika Langer - Training & Consulting

 
HOME | SEMINARS | TALKS | ARTICLES | BOOKS | LINKS | IOSTREAMS | GENERICS | ABOUT | NEWSLETTER | CONTACT | SITEMAP
Book Review - Java Programming Language 3rd Ed.

Books  
HOME 
SEMINARS 
TALKS 
ARTICLES 

BOOKS

  OVERVIEW
  REVIEWS

  BIBLIOGRAPHY    
    J2SE
    J2EE
    CORE C++
    STL
    TEMPLATES
    IOSTREAMS
    CONCURRENCY
    I18N
    PATTERNS
    OOA/OOD
    TESTING
    MANAGEMENT
 

LINKS 
IOSTREAMS 
GENERICS 
ABOUT 
NEWSLETTER 
CONTACT 
SITEMAP 
Book Review - Java Programming Language 3rd Ed.
   
  Book Review of the week  
 
 
  Java Programming Language, Third Edition
  By Ken Arnold,  James Gosling, and David Holmes
  Reading,MA:Addison-Wesley
  ISBN 0201704331
  590 pages 
 
  Price: $37.95 
(Reviewed 5/1/01) 
 
Third Edition of the Classic Java Textbook 
Teaches Java to people familiar with basic programming concepts

K en Arnold, James Gosling, and David Holmes' Java Programming Language, Third Edition is an excellent tutorial that teaches the Java programming language to people who are familiar with basic programming concepts. Although no knowledge of any particular programming language is required, the reader must know the general principles of object oriented-programming before opening this book. With that in mind, we highly recommend this book as a tutorial and reference to the core of the Java programming language. 

Different from other Java tutorials, The Java Programming Language covers just the core language. You'll find nothing about graphical user interface development, databases, applets, components, remote access, etc., beyond a brief mention. This makes sense because Java is a general-purpose programming language and is used to develop radically different applications. For one Java programmer, database access is of paramount importance; while a colleague couldn't care less because s/he implements the user interface. Not every Java developer has a strong interest in the language's Internet capabilities. 

Instead of trying to cover all of Java (which they couldn't do in 600 pages anyway) the authors focus on the core language?the subset of Java that every Java programmer must know before s/he starts any serious development using this programming language. Following this line of logic, the authors discuss all language features (language constructs and concepts) plus some packages that are closely related to the core language and are most commonly used in general programs (including I/O, collections, utilities, system, and internationalization). 

Beyond being a recommendable tutorial for novices, The Java Programming Language is a useful reference for intermediate programmers. Because it's so well organized, it's easy to find the right section describing a given feature. The various chapters and sections can be read almost independently of each other. If you already know a bit about Java, or have read the book cover to cover before, you can easily look up what you need later. For instance, if you haven't used inner classes so far, you can read the 16 pages on nested classes and interfaces. Afterwards you'll know everything that's relevant about these language features, including syntax, semantics, and typical use of the feature. The examples given for illustration purposes are well chosen?they're never too simple or too complex. The authors just get to the main point and leave out potentially distracting details. It is very well done. 

For those of you who know the earlier editions of The Java Programming Language , let's take a look at the main difference between the second and third editions. The third edition covers JDK 1.3 (or Java 2 SDK, Standard Edition Version 1.3, to be more precise). In addition to adding new stuff, the third edition is thoroughly revised and partly restructured. An example is a new chapter about nested classes and interfaces. Inner classes were mentioned in the second edition but without much detail. The same holds for programming with types. The third edition provides more details and includes dynamic proxies. There is an entirely new chapter on garbage collection that comprises not only garbage collection and finalization but also the reachability concepts and reference objects that are new to the JDK 1.3. 

This book is a must-have for every Java programmer. It is Java's counterpart to Brian Kernighan and Dennis Ritchie's The C Programming Language and Bjarne Stroustrup's The C++ Programming Language, Third Edition . Like these classic textbooks, The Java Programming Language does not aim to teach programming. Instead, it explains the core of the Java programming language clearly and concisely. The third edition is still the classic Java textbook that it's always been since the first edition. It remains our favorite reference when we are asked to recommend a Java book for students with an OO background. 

Angelika Langer develops and teaches classes on Java, C++, multithreading, and internationalization. She is an internationally recognized speaker and served on the ANSI/ISO C++ Committee from 1993 to 1998. Klaus Kreft is a software architect and senior consultant with 15+ years of experience in industrial software development. He currently works for Siemens Business Services in Germany. Langer and Kreft are authors of "Standard C++ IOStreams and Locales" (Addison-Wesley, 2000) and are columnists for the C/C++ Users Journal. 

 

 
© Copyright 1995-2003 by Angelika Langer.  All Rights Reserved.    URL: < http://www.AngelikaLanger.com/Articles/Reviews/JavaLanguage/review.htm  last update: 28 Oct 2003