Java Language Page - arranged by In-Young Ko CSCI Dept., University of Southern California, August 30, 1996
Java retains the look-and-feel of C/C++ so programmers can migrate more easily to it. Java has a large collection of libraries of tested objects that can be reused. Java supports both object-oriented features and concurrency features. Java eliminates pointers entirely, no pointers and hence no pointer arithmetic, so there are no longer pointer problems. Java includes security in its language and run-time verification, so programs are safe from tampering. Java generates byte codes - an architecture neutral intermediate format which is interpreted at the local site. There is no binary distribution of code.
Java defines specific sizes for the basic data types, helping to insure that Java programs will be portable across platforms Java virtual machine is a layered architecture, based on the POSIX interface standard, so ports to new architectures should not be difficult. Garbage collection runs as a low-priority background thread, helping to avoid obnoxious garbage collects at inconvenient times. Compute-intensive programs can be written in native machine code and combined with a Java program. Java programs are edited, executed and tested, simplifying the compile, link, and load cycle of C/C++. Java supports multithreading at the language level.