History of java language

  • Java is a general, all-purpose computer programming language that is circumstantial, class-based, object-oriented, and specially designed to have few application dependencies as possible.
  • Java was developed initially for interactive television, but it was too advanced technology for the digital cable television industry at the time.
  • It is proposed to let application developers “write once, run anywhere, suggesting that compiled Java code can run on all platforms that condone Java without the necessity to recompile.
  • Java applications are compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture.
  • The Java language project was started by James Gosling, Mike Sheridan, Chris Warth, Patrick Naughton and Ed Frank in June 1991 at Sun Microsystems.
  • The history of Java is very interesting. Java was originally designed for interactive television, but it was too advanced technology for the digital cable television industry at the time.
  • Java team members (also known as Green Team), initiated this project to develop a language for digital devices such as set-top boxes, televisions etc.
  • But, it was suited for internet programming. Later, Java technology was incorporated by Netscape.
  • The language was initially called Oak after an oak tree that stood outside Gosling’s office; later on it was named as Green.
  • Finally the language renamed as Java because during this project the team had consumed a lot of coffee which was imported from island named as Java.
  • This is also the reason why Java has its logo as a cup of coffee.Sun Microsystems released the first version of Java publicly as Java 1.0 in 1995.
  • The principles for creating Java programming were "Simple, Robust, Portable, write once, run anywhere(WORA),Platform-independent, Secured, High Performance, Multithreaded, Architecture Neutral, Object-Oriented, Interpreted and Dynamic".

There were following primary goals for creating the Java language

  • It should be “simple,  object-oriented and familiar”
  • It should be “robust and secure”
  • It should be “architecture-neutral and portable”
  • It should execute with “high performance”
  • It should be “interpreted,threaded, and dynamic”