Java 2: The Complete Reference, Fifth Edition

Java 2: The Complete Reference, Fifth Edition

by Herbert Schildt, Herb Schildt, Herb Schildt
This book is the most complete and up-to-date resource on Java from programming guru, Herb Schildt — a must-have desk reference for every Java programmer.


This book is the most complete and up-to-date resource on Java from programming guru, Herb Schildt — a must-have desk reference for every Java programmer.

Editorial Reviews

This fifth edition of a guide to the Java language covers the latest features of Java 2, v1.4, including the new I/O API, regular expression, chained exceptions, the assert keyword, and upgrades to Java's networking classes and the Collections Framework. The book starts with an in-depth tutorial of the Java language, then examines the standard Java library and issues related to the Java development environment, and presents Java applets. Schildt has written many previous books on Java and other computer topics. Annotation c. Book News, Inc., Portland, OR

Product Details

McGraw-Hill Companies, The
Publication date:
Osborne Complete Reference Series
Edition description:
Older Edition
Product dimensions:
7.42(w) x 9.12(h) x 2.36(d)

Read an Excerpt

Chapter 1: The Genesis of Java

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 that 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. While the remaining chapters of this book describe the practical aspects of Java-including its syntax, libraries, and applications-in this chapter, you will learn how and why Java came about, and what makes it so important.

although Java has become inseparably linked with the online environment of the Internet, it is important to remember that Java is first and foremost a programming language. Computer language innovation and development occurs for two fundamental reasons:

  • To adapt to changing environments and uses
  • To implement refinements and improvements in the art of programming
as you will see, the creation of Java was driven by both elements in nearly equal measure.

Java's Lineage Java is related to C++, which is a direct descendent of C. Much of the character of Java is inherited from these two languages. From C, Java derives its syntax. Many of Java's object-oriented features were influenced by C++. In fact, several of Java's defining characteristics come from-or are responses to-its predecessors. Moreover, the creation of Java was deeply rooted in the process of refinement and adaptation that has been occurring in computer programming languages for thepast three decades. For these reasons, this section reviews the sequence of events and forces that led up to Java. as you will see, each innovation in language design was driven by the need to solve a fundamental problem that the preceding languages could not solve. Java is no exception.

The Birth of Modern Programming: C The C language shook the computer world. Its impact should not be underestimated, because it fundamentally changed the way programming was approached and thought about. The creation of C was a direct result of the need for a structured, efficient, high-level language that could replace assembly code when creating systems programs. as you probably know, when a computer language is designed, trade-offs are often made, such as the following:

  • Ease-of-use versus power
  • Safety versus efficiency
  • Rigidity versus extensibility
Prior to C, programmers usually had to choose between languages that optimized one set of traits or the other. For example, although FORTRaN could be used to write fairly efficient programs for scientific applications, it was not very good for systems code. and while BaSIC was easy to learn, it wasn't very powerful, and its lack of structure made its usefulness questionable for large programs. assembly language can be used to produce highly efficient programs, but it is not easy to learn or use effectively. Further, debugging assembly code can be quite difficult. another compounding problem was that early computer languages such as BaSIC, COBOL, and FORTRaN were not designed around structured principles. Instead, they relied upon the GOTO as a primary means of program control. as a result, programs written using these languages tended to produce "spaghetti code"-a mass of tangled jumps and conditional branches that make a program virtually impossible to understand. While languages like Pascal are structured, they were not designed for efficiency, and failed to include certain features necessary to make them applicable to a wide range of programs. (Specifically, given the standard dialects of Pascal available at the time, it was not practical to consider using Pascal for systems-level code.) So, just prior to the invention of C, no one language had reconciled the conflicting attributes that had dogged earlier efforts. Yet the need for such a language was pressing. By the early 1970s, the computer revolution was beginning to take hold, and the demand for software was rapidly outpacing programmers' ability to produce it. a great deal of effort was being expended in academic circles in an attempt to create a better computer language. But, and perhaps most importantly, a secondary force was beginning to be felt. Computer hardware was finally becoming common enough that a critical mass was being reached. No longer were computers kept behind locked doors. For the first time, programmers were gaining virtually unlimited access to their machines. This allowed the freedom to experiment. It also allowed programmers to begin to create their own tools. On the eve of C's creation, the stage was set for a quantum leap forward in computer languages.

Invented and first implemented by Dennis Ritchie on a DEC PDP-11 running the UNIX operating system, C was the result of a development process that started with an older language called BCPL, developed by Martin Richards. BCPL influenced a language called B, invented by Ken Thompson, which led to the development of C in the 1970s. For many years, the de facto standard for C was the one supplied with the UNIX operating system and described in The C Programming Language by Brian Kernighan and Dennis Ritchie (Prentice-Hall, 1978). C was formally standardized in December 1989, when the american National Standards Institute (aNSI) standard for C was adopted.

The creation of C is considered by many to have marked the beginning of the modern age of computer languages. It successfully synthesized the conflicting attributes that had so troubled earlier languages. The result was a powerful, efficient, structured language that was relatively easy to learn. It also included one other, nearly intangible aspect: it was a programmer's language...

Meet the Author

Herbert Schildt is the world's leading programming author with more than 3 million books sold. He is the author of Java 2: A Beginners Guide, Java 2 Programmer's Reference, C++: The Complete Reference, and many, many others.

Customer Reviews

Average Review:

Write a Review

and post it to your social network


Most Helpful Customer Reviews

See all customer reviews >