Jakob Nielsen’s Alertbox: January 1, 1997

Sample Text from Technical Whitepaper (Rewritten)

Whether intended to service a single person or an entire enterprise, future network-computing systems share some fundamental requirements. They must be reliable, provide security, accommodate future service changes via software, operate in a distributed network, support multiple tasks, respond in real time, and remain price-sensitive. And perhaps most important, applications created to run on these systems must be easily portable.

Sun's Java language meets many of the above requirements from the software side:

  1. It's simple. Java was designed as closely to C++ as possible, to make the system more understandable. But Java omits many rarely used and confusing features of C++.
  2. It produces small code. One goal of Java is to enable construction of software that runs on a stand-alone basis in small machines. The size of the basic interpreter and class support is about 40 kbytes; the basic libraries and thread support add 175 kbytes.
  3. It's object-oriented. This facilitates the clean definition of interfaces and makes it possible to provide reusable software components.
  4. It's distributed. Java has an extensive library of routines for coping easily with TCP/IP protocols like HTTP and FTP. Also, Java applications can open and access objects across a network via URLs with the same ease programmers are used to when accessing a local file system.