James Gosling

Last updated
James Goslings

OC
James Gosling 2008.jpg
Born
James Arthur Gosling

(1955-05-19) May 19, 1955 (age 68)
Calgary, Alberta, Canada
Alma mater
Known for Java (programming language)
Children2
AwardsOfficer of the Order of Canada

IEEE John von Neumann Medal The Economist Innovation Award NAE Foreign Member

Fellow

Contents

Computer History Museum
Scientific career
Institutions
Thesis Algebraic Constraints  (1983)
Doctoral advisor Bob Sproull and Raj Reddy [2]

James Gosling OC (born 19 May 1955) is a Canadian computer scientist, best known as the founder and lead designer behind the Java programming language. [3]

Gosling was elected a member of the National Academy of Engineering in 2004 for the conception and development of the architecture for the Java programming language and for contributions to window systems.

Early life

Gosling attended William Aberhart High School in Calgary, Alberta. While in high school, he wrote some of the software to analyze data from the ISIS 2 satellite, working for the University of Calgary physics department. [4] He received a Bachelor of Science from the University of Calgary [5] and his M.A. and Ph.D. from Carnegie Mellon University, all in computer science. [2] [6] [7] He wrote a version of Emacs called Gosling Emacs (Gosmacs) while working toward his doctorate. He built a multi-processor version of Unix for a 16-way computer system [8] while at Carnegie Mellon University, before joining Sun Microsystems. He also developed several compilers and mail systems there. Gosling has two children, Katie and Kelsey, who are half siblings from Gosling's two marriages.

Career & contributions

Gosling was with Sun Microsystems between 1984 and 2010 (26 years). At Sun he invented an early Unix windowing system called NeWS, which became a lesser-used alternative to the still used X Window System, because Sun did not give it an open source license.[ citation needed ]

He is known as the father of the Java programming language. [9] [10] He got the idea for the Java VM while writing a program to port software from a PERQ by translating Perq Q-Code to VAX assembler and emulating the hardware. He is generally credited with having invented the Java programming language in 1994. [11] [12] [13] He created the original design of Java and implemented the language's original compiler and virtual machine. [14] Gosling traces the origins of the approach to his early graduate student days, when he created a p-code virtual machine for the lab's DEC VAX computer, so that his professor could run programs written in UCSD Pascal. In the work leading to Java at Sun, he saw that architecture-neutral execution for widely distributed programs could be achieved by implementing a similar philosophy: always program for the same virtual machine. [15]

Another contribution of Gosling's was co-writing the "bundle" program, known as "shar", a utility thoroughly detailed in Brian Kernighan and Rob Pike's book The Unix Programming Environment . [16]

He left Sun Microsystems on April 2, 2010, after it was acquired by the Oracle Corporation, [9] citing reductions in pay, status, and decision-making ability, along with change of role and ethical challenges. [17] He has since taken a very critical stance towards Oracle in interviews, noting that "during the integration meetings between Sun and Oracle, where we were being grilled about the patent situation between Sun and Google, we could see the Oracle lawyer's eyes sparkle." [10] He clarified his position during the Oracle v. Google trial over Android: "While I have differences with Oracle, in this case they are in the right. Google totally slimed Sun. We were all really disturbed, even Jonathan [Schwartz]: he just decided to put on a happy face and tried to turn lemons into lemonade, which annoyed a lot of folks at Sun." [18] However, he approved of the court's ruling that APIs should not be copyrightable. [19]

In March 2011, Gosling joined Google. [20] Six months later, he followed his colleague Bill Vass and joined a startup called Liquid Robotics. [1] In late 2016, Liquid Robotics was acquired by Boeing. [21] Following the acquisition, Gosling left Liquid Robotics to work at Amazon Web Services as Distinguished Engineer in May 2017. [22]

He is an advisor at the Scala company Lightbend, [23] Independent Director at Jelastic, [24] and Strategic Advisor for Eucalyptus, [25] and is a board member of DIRTT Environmental Solutions. [26]

Awards

For his achievement, the National Academy of Engineering in the United States elected him as a Foreign Associate member. [27]

Books

See also

Related Research Articles

<span class="mw-page-title-main">Dennis Ritchie</span> American computer scientist, co-creator of the Unix operating system

Dennis MacAlistair Ritchie was an American computer scientist. He is best known for creating the C programming language and, with long-time colleague Ken Thompson, the Unix operating system and B programming language. Ritchie and Thompson were awarded the Turing Award from the ACM in 1983, the Hamming Medal from the IEEE in 1990 and the National Medal of Technology from President Bill Clinton in 1999. Ritchie was the head of Lucent Technologies System Software Research Department when he retired in 2007. He was the "R" in K&R C, and commonly known by his username dmr.

<span class="mw-page-title-main">Java (programming language)</span> Object-oriented programming language

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities that are typically not available in traditional compiled languages.

<span class="mw-page-title-main">Sun Microsystems</span> American computer company, 1982–2010

Sun Microsystems, Inc. was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the Network File System (NFS), and SPARC microprocessors. Sun contributed significantly to the evolution of several key computing technologies, among them Unix, RISC processors, thin client computing, and virtualized computing. Notable Sun acquisitions include Cray Business Systems Division, Storagetek, and Innotek GmbH, creators of VirtualBox. Sun was founded on February 24, 1982. At its height, the Sun headquarters were in Santa Clara, California, on the former west campus of the Agnews Developmental Center.

In computing, a virtual machine (VM) is the virtualization or emulation of a computer system. Virtual machines are based on computer architectures and provide the functionality of a physical computer. Their implementations may involve specialized hardware, software, or a combination of the two. Virtual machines differ and are organized by their function, shown here:

Alfred Vaino Aho is a Canadian computer scientist best known for his work on programming languages, compilers, and related algorithms, and his textbooks on the art and science of computer programming.

In computer science, imperative programming is a programming paradigm of software that uses statements that change a program's state. In much the same way that the imperative mood in natural languages expresses commands, an imperative program consists of commands for the computer to perform. Imperative programming focuses on describing how a program operates step by step, rather than on high-level descriptions of its expected results.

<span class="mw-page-title-main">Guy L. Steele Jr.</span> American computer scientist (born 1954)

Guy Lewis Steele Jr. is an American computer scientist who has played an important role in designing and documenting several computer programming languages and technical standards.

<span class="mw-page-title-main">HotJava</span> Web browser

HotJava was a modular, extensible web browser from Sun Microsystems implemented in Java. It was the first browser to support Java applets, and was Sun's demonstration platform for the then-new technology. It has since been discontinued and is no longer supported. Furthermore, the Sun Download Center was taken down on July 31, 2011, and the download link on the official site points to a placeholder page saying so.

JavaOS is a discontinued operating system based on a Java virtual machine. It was originally developed by Sun Microsystems. Unlike Windows, macOS, Unix, or Unix-like systems which are primarily written in the C programming language, JavaOS is primarily written in Java. It is now considered a legacy system.

ChorusOS is a microkernel real-time operating system designed as a message passing computing model. ChorusOS began as the Chorus distributed real-time operating system research project at the French Institute for Research in Computer Science and Automation (INRIA) in 1979. During the 1980s, Chorus was one of two earliest microkernels and was developed commercially by startup company Chorus Systèmes SA. Over time, development effort shifted away from distribution aspects to real-time for embedded systems.

strictfp is an obsolete and redundant reserved word in the Java programming language. Previously, this keyword was used as a modifier that restricted floating-point calculations to IEEE 754 semantics in order to ensure portability. The strictfp keyword was introduced into Java with the Java virtual machine (JVM) version 1.2 and its functionality was removed in JVM version 17. As of Java 17, IEEE 754 semantics is required, thus using this keyword has no effect.

<span class="mw-page-title-main">Component-based software engineering</span> Branch of software engineering

Component-based software engineering (CBSE), also called component-based development (CBD), is a style of software engineering that aims to build software out of loosely-coupled, modular components. It emphasizes the separation of concerns among different parts of a software system.

<span class="mw-page-title-main">Java (software platform)</span> Set of computer software and specifications

Java is a set of computer software and specifications that provides a software platform for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms from embedded devices and mobile phones to enterprise servers and supercomputers. Java applets, which are less common than standalone Java applications, were commonly run in secure, sandboxed environments to provide many features of native applications through being embedded in HTML pages.

<span class="mw-page-title-main">Joshua Bloch</span> American software engineer

Joshua J. Bloch is an American software engineer and a technology author, formerly employed at Sun Microsystems and Google. He led the design and implementation of numerous Java platform features, including the Java Collections Framework, the java.math package, and the assert mechanism. He is the author of the programming guide Effective Java (2001), which won the 2001 Jolt Award, and is a co-author of two other Java books, Java Puzzlers (2005) and Java Concurrency In Practice (2006).

James George Mitchell is a Canadian computer scientist. He has worked on programming language design and implementation, interactive programming systems, dynamic interpreting and compiling, document preparing systems, user interface design, distributed transactional file systems, and distributed, object-oriented operating systems. He has also worked on the design of hardware for computer graphics, high-level programming language execution, and audio input/output.

<span class="mw-page-title-main">Berkeley Software Distribution</span> Unix operating system

The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley. The term "BSD" commonly refers to its open-source descendants, including FreeBSD, OpenBSD, NetBSD, and DragonFly BSD.

<span class="mw-page-title-main">Lars Bak (computer programmer)</span> Danish computer programmer

Lars Bak is a Danish computer programmer. He is known as a JavaScript expert and for his work on virtual machines. He previously worked for Google, having contributed to the Chrome browser by developing the V8 JavaScript engine.

<span class="mw-page-title-main">Gilad Bracha</span> American software engineer

Gilad Bracha is a software engineer at F5 Networks, and formerly at Google, where he was on the Dart programming language team. He is creator of the Newspeak language, and co-author of the second and third editions of the Java Language Specification, and a major contributor to the second edition of the Java Virtual Machine Specification.

Google LLC v. Oracle America, Inc., 593 U.S. ___ (2021), was a U.S. Supreme Court decision related to the nature of computer code and copyright law. The dispute centered on the use of parts of the Java programming language's application programming interfaces (APIs) and about 11,000 lines of source code, which are owned by Oracle, within early versions of the Android operating system by Google. Google has since transitioned Android to a copyright-unburdened engine without the source code, and has admitted to using the APIs but claimed this was within fair use.

References

  1. 1 2 I've moved again : On a New Road. Nighthacks.com. Retrieved on 2016-05-17.
  2. 1 2 James Gosling at the Mathematics Genealogy Project
  3. "James Gosling - Computing History". Computinghistory.org.uk. Retrieved 2017-10-09.
  4. James Gosling; Hansen Hsu; Marc Weber (March 15, 2019). "Oral History of James Gosling, part 1 of 2" (PDF). Computer History Museum. pp. 23–24. Catalog number 102781080.
  5. "academic-conference-style bio of James Gosling". Archived from the original on 2015-06-01. Retrieved 2015-05-13.
  6. Gosling, James (1983). Algebraic Constraints (PhD thesis). Carnegie Mellon University. ProQuest   303133100.
  7. Phd Awards By Advisor. Cs.cmu.edu. Retrieved on 2013-07-17.
  8. James Gosling mentioned a multiprocessor Unix in his statement during the US vs Microsoft Antitrust DOJ trial in 1998 "DOJ/Antitrust". Statement in MS Antitrust case. US DOJ. Retrieved 1 February 2007.
  9. 1 2 Guevin, Jennifer. "Java co-creator James Gosling leaves Oracle". CNET. Retrieved 13 June 2020.
  10. 1 2 Shankland, Stephen. (2011-03-28) Java founder James Gosling joins Google. CNET Retrieved on 2012-02-21.
  11. Allman, E. (2004). "Interview: A Conversation with James Gosling". Queue. 2 (5): 24. doi: 10.1145/1016998.1017013 .
  12. Gosling, J. (1997). "The feel of Java". Computer. 30 (6): 53–57. doi:10.1109/2.587548.
  13. Chang, Ching-Chih; Hall, Amy; Treichel, Jeanie (1998). "Sun Labs-The First Five Years: The First Fifty Technical Reports. A Commemorative Issue". Ching-Chih Chang, Amy Hall, Jeanie Treichel. Sun Microsystems, Inc. Retrieved 2010-02-07.
  14. Gosling, James (2004-08-31). "A Conversation with James Gosling". ACM Queue. ACM. Retrieved 2014-07-03. At Sun he is best known for creating the original design of Java and implementing its original compiler and virtual machine.
  15. McMillan, W.W. (2011). "The soul of the virtual machine: Java's ability to run on many different kinds of computers grew out of software devised decades before". IEEE Spectrum. 48 (7): 44–48. doi:10.1109/MSPEC.2011.5910448. S2CID   40545952.
  16. Kernighan, Brian W; Pike, Rob (1984). The Unix Programming Environment. Prentice Hall. pp.  97-100. ISBN   0-13-937681-X.
  17. Darryl K. Taft. (2010-09-22) Java Creator James Gosling: Why I Quit Oracle. eWEEK.com
  18. My attitude on Oracle v Google. Nighthacks.com. Retrieved on 2016-05-17.
  19. "Meltdown Averted". Nighthacks.com. Retrieved 2017-03-13.
  20. Next Step on the Road. Nighthacks.com. Retrieved on 2016-05-17.
  21. "Boeing to Acquire Liquid Robotics to Enhance Autonomous Seabed-to-Space Information Services". December 6, 2016.
  22. Darrow, Barb (May 23, 2017). "Legendary Techie James Gosling Joins Amazon Web Services". Fortune.com. Retrieved 23 March 2018.
  23. Typesafe — Company: Team. Typesafe.com. Retrieved on 2012-02-21.
  24. James Gosling and Bruno Souza Join Jelastic as Advisers. InfoQ.com. Retrieved on 2014-11-24.
  25. Eucalyptus Archived 2013-04-25 at the Wayback Machine . Eucalyptus.com Retrieved on 2013-04-22
  26. "James Gosling". DIRTT Environmental Solutions Ltd. Archived from the original on 2018-03-23.{{cite web}}: CS1 maint: unfit URL (link)
  27. "NAE Members Directory – Dr. James Arthur Gosling". NAE . Retrieved March 29, 2011.
  28. The 2002 Economist Innovation Award Winner Archived 2012-04-22 at the Wayback Machine .
  29. "Flame Award". Usenix.org. 6 December 2011. Retrieved 20 January 2018.
  30. "Governor". Archived from the original on February 7, 2008. Retrieved August 28, 2016.. February 20, 2007
  31. ACM Names Fellows for Computing Advances that Are Transforming Science and Society Archived 2014-07-22 at the Wayback Machine , Association for Computing Machinery, accessed 2013-12-10.
  32. "IEEE JOHN VON NEUMANN MEDAL : RECIPIENTS" (PDF). Ieee.org. Retrieved 20 January 2018.
  33. Computer History Museum names James Gosling a 2019 Fellow