Java History

-The official Wiki version of the history of the JavaLanguage.

Well, the Green project became the Oak project became the Java project because KimPolese was discussing new names in the coffee shop with others in the team. Netscape endorsed it in early 1995 and the rest, as they say, is the boring bit.

Sun's official version is at http://java.sun.com/nav/whatis/storyofjava.html and is a great read, even if it doesn't mention some of the most famous names on Wiki as much as it should.

The above is now a BrokenLink, and it was redirecting to some marketing flannel as early as 2001. The WaybackMachine has the original article at http://web.archive.org/web/20010610045734/http://java.sun.com/nav/whatis/storyofjava.html. Some current (2006) Sun links: See also:
The public history of Java, as presented by Sun, is like all other histories of everything. It is neither complete nor entirely accurate. Wiki has benefited a lot from the perspective of TomStambaugh, originally in the aptly named SmalltalkMinusMinus (apt because it kinda tells you where some of us come from as we write the history does it not?).

A company that TomStambaugh founded, BridgeSystems? (later renamed ComponentSoftwareCorporation?), delivered, under contract, a "research prototype" to SunLabs? in early 1991. They were funded by KP (who also funded Sun) and MitchKapor, their lead investor was John Doerr (who was an acting director at Sun at the time, in charge of Sun's consumer strategy), and they did their work for WayneRosing? and RobertSproull? at Sun. They were a spin-off of the original ON technology (funded by KP and MitchKapor, and again with John Doerr and Vinod Khosla as directors), where TomStambaugh was the first technical employee.

The original plan was for ON to deliver a "killer application" that would migrate the consumer market away from Windoze machines. Sun would provide the "killer hardware", in the form of the then-new sparc, that would provide compelling power at significantly lower cost. In late 1988, Bill Gates made it clear to Mitch that Microsoft would not sit idly and let ON have its way. Mitch passed this along to the ON team on December 7th, 1988. Mitch dramatically repositioned ON in the ensuing weeks, and massive layoffs took place on February 14, 1989. These two dates were known, internally, as "Pearl Harbor Day" and "The Valentines Day Massacre". In redirecting ON, Mitch left KP - John and Vinod - and Sun in a bind, because suddenly they had no "killer app" to pull their hardware into the market. Hence, Mitch, John, Vinod, Wayne Rosing, TomStambaugh, and Stoney Ballard spun off the virtual machine technology ON had been developing into a new company founded by TomStambaugh and Stoney. Sun kicked in a $500,000 contract for a "research prototype", to be delivered to Wayne.

Sun's request, from Wayne, was to deliver "an industrial-strength Smalltalk, written in C++". They concluded, early on, that C++ semantics precluded this, and so they switched to ObjectiveC. They worked closely with the SunLab?'s team, and the prototype they delivered to Sun (in early 1991) embodies most of the "features" that distinguish Java from C++. Their technical contacts at Sun (beyond Wayne) included BillJoy, JamesGosling, RobertSproull?, and others. TomStambaugh's peers in that effort were StoneyBallard?, CharlieEvett?, and several others.

After they delivered the research prototype, John Doerr decided that a "change in management" was "best" for ComponentSoftwareCorporation?, thus enabling TomStambaugh to spend most of the 90s' coding in Smalltalk. ComponentSoftwareCorporation? died a year or so later, and the technology transfer from ON to Sun was completed.


This story sounds quite different from the one on the pages from Sun. Where do they fit together? Did BridgeSystems? got contracted by the Green project? Or how where the interconnections?

Bridge was never "officially" contracted by Green, but the industry doesn't work that way anyway. The Bridge research prototype was purchased by Sun - meaning that Sun had complete and unfettered ability to anything they wanted with it and any derivative technology. WayneRosing? was the primary contact (and driver) on the Sun side, and RobertSproull? (he of graphics fame) was the local (Boston area) contacts. John Doerr and VinodKosla (of KleinerPerkins?) were directors of both Sun and Bridge. KleinerPerkins? was the lead investor of both Sun and Bridge. From the Sun side, BillJoy and JamesGosling closely monitored the research effort and attended the monthly reviews held at Sunlabs in Mountain View from 1989 to 1991. The project was delivered in 1991. The interconnections were, in short, as close as they could be without excessively exposing KleinerPerkins? to the charge that they were simply using one of their portfolio companies to perform R&D for another.


From LanguageDesignersOnWiki:

I claim no role in creating the Java language. My client (Sun) wanted Smalltalk semantics with a C-like language. We quickly confirmed that CeePlusPlus precluded this, and chose ObjectiveCee instead, with the full and enthusiastic support of Sun. Our contribution was the virtual machine, the environment, many or most of the semantics, and of course the demonstration that it was very possible. Our VM demonstrated multiple native types, we showed that "loose typing" worked just fine, we showed that the expressivity and interactivity of Smalltalk was not special magic available only to Xerox. As has been noted before, I am a Smalltalker and have always described the Java language as SmalltalkMinusMinus. -- TomStambaugh


When the dust settles, it won't matter anyway. At least it appears that the C++ bandwagon has been derailed.

DaveThomas of OTI once said to me that Java was a completely unpredictable event, the coming together in 1995 of mega growth of the Web and some pretty average language and virtual machine technology. Could C++ have been derailed by anything better? I guess not. -- RichardDrake

The typically dry and self-deprecating humor in the above comment by DaveThomas is that the Java virtual machine used by IBM (and highly respected) is the same virtual machine used IBM for IbmSmalltalk - and produced by OTI, the company DaveThomas began in the eighties. Virtual machine technology that is "average" to DaveThomas is still pretty hot stuff in comparison to the alternatives. -- TomStambaugh

Dave was "trenchant" more than "self-deprecating" that day at Objective, saying some things that I could never put up on Wiki but learnt a lot from! The question I find interesting is: would the world have been a better place if the C++ bandwagon had been slowly derailed by Smalltalk chugging up alongside it, as OTI was working hard to achieve, rather than by the head on Java accident of 95-96? -- RichardDrake


What was and is the relationship between the old SelfLanguage project at Sun and the Java people and technology? If any.

I've lost track of where the SelfLanguage people went, but I don't think it has much direct connection to Java. As far as I know, the most direct impact SelfLanguage has had was in DigitalkSmalltalk?. Back in the early nineties, they reversed the implementation of the Class and MethodDictionary? pointers, so that every object contained a pointer to its MethodDictionary?, and every MethodDictionary? then pointed to the class that contained it. This was the basis of their "InstanceBased? Programming" - and closely related to SelfLanguage. It also improved performance.

At Sun, another interesting and little-known tidbit is that their Sparc architecture is the commercialization of SOAR, the well-known research effort done for the Smalltalk community (SOAR is an acronym for SmalltalkOnARisc). The ultimate irony is that by the time SUN got Sparc working, the effect of the hardware optimization was "only" about a factor of 2-4 - not enough, in AdeleGoldberg's view, to merit building a special VirtualMachine that could take advantage of it. PeterDeutsch had been so successful in his JustInTimeCompiling? virtual machine that the advantages of portability outweighed the performance gains provided by the Sparc architecture. Not many people realize that SUN has been shipping hardware specifically optimized for Smalltalk for a decade. -- TomStambaugh

While we're on the subject of irony and virtual machine optimization, is it not also true that some of the top Self VM dynamic optimization people and expertise found its way into a separate company called Longview or Animorphic. (That's not the LongviewInternational? that builds swaps trading systems in Smalltalk and Java. Some of the nicest people who once worked for me work for them.) This company was then purchased by Sun for a generous amount and their technology was trumpeted as the answer to Java's performance problems, becoming the massively delayed HotSpotVm (more details there).

On the subject of JavaOptimization?, has anyone got experience of the static compilers from Instantiations and Tower? (An interesting battle of the Smalltalk and Eiffel optimization veterans.) -- RichardDrake

As far as I can remember, Self had JIT compilation. Wasn't this influential on Java? -- HiltonFernandes

Absolutely. Self was largely developed at Sun's research lab by David Ungar. Ungar and his associates published a series of paper about the Self VM's optimization strategy which uses runtime compilation and specialization, like JIT.


There's a copy of the Oak specification from (apparently) 1994 at http://weblogs.java.net/jag/old/green/OakSpec0.2.ps.

. ("FirstPerson" is apparently the name that the Green Project was incorporated under: see http://ei.cs.vt.edu/book/chap1/java_hist.html .) At http://www.devx.com/Java/Article/10686/0/page/1, Dr Heinz Kabutz compares it with later Java.


There may be a connection to MesaLanguage, another XeroxParc language, through BillJoy; he was contemplating "a language that would merge the best features of MESA and C" in the late '70s. I don't know whether this had any effect on JamesGosling's work on Java-the-language. Interfaces maybe? (Interfaces appeared in the old Oak specification before they made it into Java.)


Some of the SelfLanguage people, for example CraigChambers?, became CecilLanguage people.
CategoryJava CategoryJavaPlatform CategoryHistory

EditText of this page (last edited August 1, 2012) or FindPage with title or text search