
Java is designed to meet the challenges of application development in thecontext of heterogeneous, network-wide distributed environments. Paramountamong these challenges is secure delivery of applications that consume theminimum of system resources, can run on any hardware and softwareplatform, and can be extended dynamically.Java originated as part of a research project to develop advanced software for awide variety of networked devices and embedded systems. The goal was todevelop a small, reliable, portable, distributed, real-time operatingenvironment.When the project started, C++ was the language of choice. Butover time the difficulties encountered with C++ grew to the point where theproblems could best be addressed by creating an entirely new languageenvironment. Design and architecture decisions drew from a variety oflanguages such as Eiffel, SmallTalk, Objective C, and Cedar/Mesa.The result is a language environment that has proven ideal for developing secure,distributed, network-based end-user applications in environments rangingfrom networked-embedded devices to the World-Wide Web and the desktop.