Oak (programming language)

Oak (programming language)

Oak was a programming language created by James Gosling in 1991, initially for Sun Microsystems set-top box project. The language later evolved to become Java.

The name Oak was used by Gosling after an oak tree that stood outside his office.



In 1991, Sun Microsystems was attempting to develop a new technology for programming next generation smart appliances, which Sun expected to be a major new opportunity.

The team originally considered using C++, but rejected the idea for several reasons (see Java history).

Initially, Gosling attempted to modify and extend C++ but soon abandoned that in favor of creating a new platform called Green and an entirely new language, which he called Oak, after the tree that stood just outside his office.[1]

By the summer of 1992, they were able to demonstrate portions of the new platform including the Green OS, the Oak language, the libraries, and the hardware. Their first attempt, demonstrated on September 3, 1992, focused on building a PDA device named Star7[1] which had a graphical interface and a smart agent called "Duke" to assist the user.

Oak was renamed Java in 1994 after a trademark search revealed that Oak was used by Oak Technology.[2] Java 1.0 was finally shipped in 1996.[3]

Differences with Java

Oak was the basis for what Java 1.0 became later, but there were also some differences[4][5]: Several concepts were planned in the Oak specification but remained not implemented in the original language because of time constraints:

Other concepts were different than, or improved later, for Java[4]:

  • As stated in the Oak specification, integer variable types did not affect their storage allocation. For example byte or short values were stored on 4 bytes of memory. This changed in Java 1.4.
  • abstract methods were defined as in C++.
  • The package private access level did not exist in Oak. Classes with no access modifier were considered private.

And finally some concepts were later scraped out:

See also


  1. ^ Jon Byous (2003-03-12). "Java Technology: An early history". Sun Microsystems. http://gcc.uni-paderborn.de/www/WI/WI2/wi2_lit.nsf/64ae864837b22662c12573e70058bbb4/abf8d70f07c12eb3c1256de900638899/$FILE/Java%20Technology%20-%20An%20early%20history.pdf. Retrieved 2009-08-02. "Gosling called the new language "Oak", after the tree outside his window" 
  2. ^ Kieron Murphy (1996-04-10). "So why did they decide to call it Java?". javaworld.com. http://www.javaworld.com/javaworld/jw-10-1996/jw-10-javaname.html. Retrieved 2009-08-03. "The lawyers had told us that we couldn't use the name 'OAK' because [it was already trademarked by] Oak Technologies," said Frank Yellin, a senior engineer at Sun. "So a brainstorming session was held to come up with ideas for a new name" 
  3. ^ Jonathan I. Schwartz (2007-08-30). "Different Isn't Always Better, But Better's Always". http://blogs.sun.com/jonathan/entry/better_is_always_different. Retrieved 2009-08-02. 
  4. ^ a b c Heinz Kabutz (2003-07-15). "Once Upon an Oak ...". artima.com. http://www.artima.com/weblogs/viewpost.jsp?thread=7555. Retrieved 2009-08-02. 
  5. ^ "Oak language specification". Sun Microsystems. https://duke.dev.java.net/green/OakSpec0.2.ps. Retrieved 2009-08-02. 
  6. ^ "Java and unsigned int, unsigned short, unsigned byte, unsigned long, etc. (Or rather, the lack thereof)". http://www.darksleep.com/player/JavaAndUnsignedTypes.html. Retrieved 2009-08-02. 
  7. ^ "A Simple Assertion Facility For the Java Programming Language". Sun Microsystems. http://java.sun.com/docs/books/jls/assert-spec.html. Retrieved 2009-08-02. 
  8. ^ Johannes Rieken (2007-04-24). "Design by Contract for Java - Revised". http://modernjass.sourceforge.net/docs/mastersthesis-johannes_rieken.pdf. Retrieved 2010-10-02. 
  9. ^ "Support For 'Design by Contract', beyond "a simple assertion facility"". Sun Microsystems. http://bugs.sun.com/view_bug.do?bug_id=4449383. Retrieved 2010-10-02. 

External links

Wikimedia Foundation. 2010.

См. также в других словарях:

  • Java (programming language) — infobox programming language name = Java paradigm = Object oriented, structured, imperative year = 1995 designer = Sun Microsystems latest release version = Java Standard Edition 6 (1.6.0) latest release date = latest test version = latest test… …   Wikipedia

  • Java (programming language) — Java (technologie) Pour les articles homonymes, voir Java. Java est le nom de marque d une technique développée par Sun Microsystems : la « technologie Java™ ». Elle correspond à plusieurs produits et spécifications de logiciels… …   Wikipédia en Français

  • Oak (disambiguation) — Oak or OAK can refer to: Contents 1 Plants 2 Places 3 People 4 Fictional characters 5 Computer scien …   Wikipedia

  • Oak (langage) — Java (langage) Pour les articles homonymes, voir Java.  Ne doit pas être confondu avec JavaScript …   Wikipédia en Français

  • Oak Park, Illinois — Coordinates: 41°53′N 87°48′W / 41.883°N 87.8°W / 41.883; 87.8 …   Wikipedia

  • List of programming languages — Programming language lists Alphabetical Categorical Chronological Generational The aim of this list of programming languages is to include all notable programming languages in existence, both those in current use and historical ones, in… …   Wikipedia

  • English language — Language belonging to the Germanic languages branch of the Indo European language family, widely spoken on six continents. The primary language of the U.S., Britain, Canada, Australia, Ireland, New Zealand, and various Caribbean and Pacific… …   Universalium

  • Java (software platform) — Not to be confused with JavaScript. Java Original author(s) Oracle Corporation Developer(s) James Gosling / Sun Microsystems …   Wikipedia

  • List of computer term etymologies — This is a list of the origins of computer related terms or terms used in the computing world (i.e., a list of computer term etymologies). It relates to both computer hardware and computer software. Names of many computer terms, especially… …   Wikipedia

  • Java (informatique) — Java (langage) Pour les articles homonymes, voir Java.  Ne doit pas être confondu avec JavaScript …   Wikipédia en Français

Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»