James Gosling

Creator of Java programming language

  • Born: May 19, 1955
  • Place of Birth: Calgary, Alberta, Canada

Primary Company/Organization: Sun Microsystems

Introduction

Considered the father of Java, James Gosling created the programming language while working at Sun Microsystems in the 1990s. Java became one of the most important programming languages of the internet age, allowing the creation of programs that can run on a wide variety of vastly different computers without requiring separate versions to be coded for each computer setup.

89876642-45134.jpg

Early Life

James Arthur Gosling was born on May 19, 1955, in a suburb of Calgary, Alberta, Canada. He attended the University of Calgary, earning a bachelor of science degree in computer science in 1977, and then attended Carnegie Mellon University, earning first a master's and then a doctoral degree in computer science. He worked under Bob Sproull, his thesis adviser, who later worked for Sun Microsystems. While at Carnegie Mellon in 1981, Gosling wrote an Emacs implementation called Gosling Emacs, or gosmacs. Emacs is an extensible text editor that became one of the two most popular editors in Unix systems. Gosmacs included a complicated algorithm to handle string-to-string correction; in the source code it is preceded by an ASCII skull and crossbones to warn programmers not to modify it. While Gosmacs was freely redistributed, it was used as part of the basis for GNU Emacs, which became the most popular implementation of Emacs. Gosling later sold gosmacs to UniPress. He also worked on an implementation of Unix and a mail system at Carnegie Mellon.

When he received his doctorate in 1983, Gosling accepted a job with IBM, something he later considered one of his top ten stupid career choices. He was living in Pittsburgh and his office was technically in New York, but he spent his time flying around the country to work on various projects. The day Andy Bechtolsheim, Scott McNealy, and Vinod Khosla formed Sun Microsystems, Gosling and Bechtolsheim had lunch. That was the beginning of their campaign to get Gosling to join Sun. In September 1984, Gosling became one of Sun's first five employees.

Life's Work

At Sun, Gosling developed the Network-extensible Window System (NeWS) with David S. H. Rosenthal, based on PostScript. NeWS was a windowing system, implementing window managers and support for peripherals (like mice) for use in a desktop environment in Unix and Unix-like systems. (Microsoft Windows and later versions of Mac OS are operating systems with a windowing system built in, while a windowing system like NeWS adds windowing to an operating system that does not already incorporate it.) NeWS allowed for simple programs to be written for a graphical user interface (GUI); one of the programs used in demonstrations displayed a pair of eyes that "watched" the cursor as it moved around the screen. NeWS was developed through the early 1980s, and although it never became widespread, it was ported to the Macintosh and OS/2, and several commercial products were released to run on it, including a version of the game SimCity.

The main reason for NeWS's failure in competition with the similar X Window system was that X Window was freely distributed by the Massachusetts Institute of Technology, whereas commercial products using NeWS had to be licensed by Sun, Adobe, and the Xerox Palo Alto Research Center (PARC). Although Adobe had an interest in NeWS because it was an extension of PostScript, it refused to port its flagship Photoshop and Illustrator products to Sun's operating systems because it perceived NeWS as a competitor to Display PostScript (DPS), which was much more limited and concerned mostly with drawing commands.

In the end, NeWS did not become a major product for Sun, but Gosling took lessons learned from it and applied them to the product with which he is most associated: the Java programming language. Java was developed in 1994, inspired by work Gosling had done as a graduate student with virtual machines. Virtual machines create an environment using one operating system within another host operating system, somewhat like the video game emulators available online to play old Atari games on modern computers. The use of a virtual machine allows a program written for one computing environment to run in another environment, without needing to be ported over (revised, rewritten, and adjusted—sometimes a more difficult task than writing the original program).

Java worked through the same principle. Development began in 1991 with Mike Sheridan and Patrick Naughton working with Gosling, who implemented the idea of virtual machines and introduced a C-like notation. It was originally intended for interactive television, which at the time was expected to be the next big development in television (and in entertainment in general). The software platform Gosling's team developed was too advanced to be affordably adapted to anything suitable for the twentieth century's digital cable technology. However, between the start of development and the first public implementation in 1995, the World Wide Web arrived on the scene. Formally proposed in 1990, the World Wide Web became a publicly available service in the summer of 1991, adapting the concept of hypertext to an internet application; in 1993, the first graphical browser, Mosaic, was released thanks to funding from a research grant initiate by Senator Al Gore. The blending of text and images gave the web the boost in appeal and popularity that it needed, just at the time that dial-up internet access and commercial internet service providers were becoming more common—leading many in the general public to conflate the concepts of "the net" and "the web."

Java allowed the web to do more. The portability of Java programs by means of "applets" allowed web browsers to run those programs within web pages. The programs were small, robust, architecture-neutral, and written with familiar programming languages and concepts, which meant experienced programmers learned Java with ease, which in turn encouraged its spread. Gosling was awarded the Economist's Innovation Award in 2002.

Java became so successful that in 2007, Sun Microsystems changed its stock symbol from SUNW to JAVA to boost the company's association with the product.

Sun Microsystems was acquired by Oracle in 2010. Gosling resigned shortly after. Initially remaining silent on his reasons for leaving in April, in September he became more open to discussing the situation in interviews. Among the problems he had with Oracle, he cited the low salary offers given to longtime employees by the new owners; his own salary offer, for instance, replicated his Sun salary but without any of the performance-based bonuses, which had accounted for a significant portion of his income. He was also demoted in rank in order to smooth out differences between the hierarchy of seniority at Sun and that at Oracle (and perhaps to privilege the authority and seniority of existing Oracle employees). Although he had initially accepted the salary offer, feeling that money alone was not reason enough to resign, he found that he had little of the decision-making ability he had previously enjoyed—even over Java, his own invention. Java design decisions were instead made by Oracle officers who had had no previous history with the product. In particular Gosling felt micromanaged by Oracle's Larry Ellison. While his criticism of Oracle was often general or diplomatic, about Ellison he minced no words, comparing him to a football team owner who hires a coach and then ignores him and manages the team himself.

From March to August 2011, Gosling worked for Google as a software engineer. He then took a job as chief software architect and member of the strategic advisory board of Liquid Robotics, an ocean data services provider based in Sunnyvale, California. Liquid Robotics developed and operated the Wave Glider marine robot, propelled by wave energy to autonomously collect ocean data. The company subsequently expanded with the creation of Liquid Robotics Oil and Gas, developing oil and gas industry services using Wave Gliders. For example, Wave Gliders were used as part of British Petroleum's marine monitoring program in the Gulf of Mexico in the wake of the 2010 Deepwater Horizon accident. Fast Company named Liquid Robotics one of the 50 Most Innovative Companies in 2012. Two years later, Gosling was awarded the Institute of Electrical and Electronics Engineers' John von Neumann Medal.

After Liquid Robotics was bought by aerospace giant Boeing in 2016, Gosling left the company. He became a distinguished engineer with Amazon Web Services in 2017 and still held this position as of 2024. He also held advisory or board positions at several other companies.

Personal Life

Gosling and his wife, Judy, had two daughters, Kate and Kelsey. Gosling was known to enjoy cooking when he has the time to do so. In 2007 he was appointed an Officer of the Order of Canada, one of Canada's highest honors for civilians. He became a fellow of the Association for Computing Machines (ACM) in 2013 and received the Institute of Electrical and Electronic Engineers (IEE) John von Neumann Medal in 2015. Gosling was named a Computer History Museum Fellow in 2019.

Bibliography

Cassel, David. "Java's Jim Gosling on Fame, Freedom, Failure Modes, and Fun." The New Stack, 15 Jan. 2023, thenewstack.io/javas-james-gosling-on-fame-freedom-failure-modes-and-fun/. Accessed 6 Mar. 2024.

Ceruzzi, Paul E. Computing: A Concise History. Cambridge: MIT P, 2012. Print.

Hall, Mark, and John Barry. Sunburst: The Ascent of Sun Microsystems. New York: Contemporary, 1991. Print.

"James Gosling." Centre for Computing History, www.computinghistory.org.uk/det/1793/James-Gosling/. Accessed 6 Mar. 2024.

Southwick, Karen. High Noon: The Inside Story of Scott McNealy and the Rise of Sun Microsystems. New York: Wiley, 1999. Print.