Java
Originally named Oak
James Gosling, Sun Microsystems, May 1995
"A simple, object-oriented, distributed, interpreted, robust, architecture neutral, protable, high-performance, multithreaded, dynamic language." Similar in appearance to C++, but without operator overloading, multiple inheritance, automatic coercions, and pointer arithmetic. Garbage collected. Synchronization primitives based on monitors as found in Cedar and Mesa. Interfaces borrowed from Objective C. Designed to be secure, with authentication techniques based on public-key encryption. Interpreted with a stack-based virtual machine. A net interface allows the compiled code to be sent across the Internet and remotely executed, thus allowing users to add programs to their web pages.
Java 1.0
Java 1.1
Java 2.0