T he notion of executable content is an extre m e l y p o w e rful idea with far-reaching consequences. Its basic premise is that content need not be static , but can contain programs that will facilitate information sharing and dissemination in unheard-o f ways. While the notion of executable content has been in existence for a while, the combination of the rise of the World Wide Web and the development of new technologies has opened new and exciting avenues that will lead to a new computing landscape. Postscript was the first language that popularized the notion of executable content. Since then there have been numerous other attempts to provide similar functionalities, including Telescript, Inferno, S a f e-Tcl, and Python. However, none of these languages have enjoyed the success of Java, which has b e n e fited from a combination of technical and com-m e rcial factors. Although Java owes part of its success to the popularity of the WWW, its widespread acceptance is also due to the many features and facilities it provides as a programming language. 1 As Bru c e MacLennan describes, languages are like sport s c a r s : 2 H i g h-p e rf o rmance driving machines invite their drivers to drive them and make the experience of driving a pleasure. High-performance languages invite software engineers not only to program but also to create elegant, efficient designs and implementations. Java has become the lingua franca of the Intern e t not only because it is secure, robust, and safe but also because it is a pleasure to program with. Although in many respects Java is evolutionary rather than re v o l u t i o n a ry, it does provide mechanisms such as object orientation, multithre a d i n g , i n t e rfaces, garbage collection, Unicode support , object serialization, and exceptions necessary for programming complex, high-performance, distributed applications. Java is more than a language—it is a framework that comprises many components. It includes picoJava, a hard w a re implementation of the Java Vi rtual Machine; the JavaOS, an operating system implementation; and many application pro g r a m-ming interfaces for programming a broad range of applications, as described in the " Java APIs " side-b a r, next page. A hot re s e a rch area …
[1]
Dan Harkey,et al.
Client/Server programming with Java and Corba
,
1997
.
[2]
Ken Arnold,et al.
The Java programming language (2nd ed.)
,
1998
.
[3]
Bruce J. MacLennan.
“Who cares about elegance?” The role of aesthetics in programming language design
,
1997,
SIGP.
[4]
Edward Yourdon.
Java, the Web, and Software Development
,
1996,
Computer.
[5]
Ken Arnold,et al.
The Java Programming Language
,
1996
.