In this first chapter from the book The Art of Java by Herbert Schildt and James Holmes, the authors highlight certain features of the Java programming language that separate it from other languages. The chapter also covers: memory management, Java's built-in support for multithreading, Java's approach to exceptions as compared to C++, Java's support of polymorphism, and how bytecode enables Java's "Write Once, Run Anywhere" ability and provides security. (ISBN 0-07-222971-3, McGraw-Hill/Osborne, 2003).
Although taken for granted today, the applet is one of Java’s more revolutionary features because it allowed the creation of portable, dynamically downloaded programs that could safely execute within the confines of a browser. In the Before Java world, executable content was always suspect because of the harm a malicious program could do to the client’s computer. Furthermore, code compiled for one type of CPU and operating system would not work on another type of system. Because there are a wide variety of CPUs and operating systems connected to the Internet, it was not practical to create a unique version of a program for all environments. The Java applet provided a solution to both problems. With the applet, the Web programmer was able to easily add dynamic content to the rather static world of HTML. Java applets made the Web move, and there was no going back.
In addition to changing the way that we thought about Web content, the applet had another important effect—or perhaps side effect. It helped propel the move to component software. Because applets are small programs, they usually represent small units of functionality, which is the same thing that a software component does. Once we began to think in terms of applets, it was a small step to Beans, and beyond. Today, the component-oriented architecture, in which an application consists of an interacting set of components, has largely replaced the monolithic model that typified the past.
The Continuing Revolution
There is one more aspect of Java that reflects its genius, although it isn’t actually part of the language. Java brought with it a culture of innovation that welcomed new ideas, and a process by which these new ideas could be rapidly assimilated. Whereas many other computer languages change slowly, Java is constantly evolving and adapting. Furthermore, this process is open to the entire Java community through the Java Community Process (JCP). The JCP offers a mechanism by which users of Java help influence the future direction of the language, tools, and associated technologies. Thus, the people that actually use the language have input into its ongoing development.
From the start, Java revolutionized programming—and the revolution hasn’t stopped. Java is still at the forefront of computer language development. It is a language that has earned a lasting place in the history of computing.
Remember: this is chapter one of The Art of Java, by Herbert Schildt and James Holmes (McGraw-Hill/Osborne, ISBN 0-07-222971-3, 2003). Check it out at your favorite bookstore today. Buy this book now.