James Gosling

Date

James Arthur Gosling OC (born May 19, 1955) is a Canadian computer scientist. He is most famous for creating the Java programming language. In 2004, Gosling was chosen to join the National Academy of Engineering for designing and building the structure of the Java programming language and for helping to develop systems that manage computer windows.

James Arthur Gosling OC (born May 19, 1955) is a Canadian computer scientist. He is most famous for creating the Java programming language.

In 2004, Gosling was chosen to join the National Academy of Engineering for designing and building the structure of the Java programming language and for helping to develop systems that manage computer windows.

Early life

Gosling was born in Calgary, Alberta, to Joyce Morrison and Dave Gosling. He has ancestors from England, Wales, Scotland, and Iceland. He studied at William Aberhart High School. During high school, he helped create software to analyze data from the ISIS 2 satellite for the University of Calgary physics department. He earned a Bachelor of Science degree from the University of Calgary and later received a Master of Arts and a Ph.D. from Carnegie Mellon University, all in computer science. While working on his doctorate, he developed a version of Emacs called Gosling Emacs (Gosmacs). At Carnegie Mellon University, he created a version of Unix that could use multiple processors on a 16-way computer system before joining Sun Microsystems.

Career and contributions

James Gosling began working at Sun Microsystems in 1984, where he remained employed for 26 years. During his time at Sun, he created an early Unix windowing system named NeWS, which became a less commonly used option compared to the widely used X Window System. This was because Sun did not provide NeWS with an open source license, limiting its availability.

Gosling is recognized as the creator of the Java programming language. He developed the idea for the Java virtual machine while working on a program that translated software from a PERQ computer into a different format. He is credited with inventing Java in 1994. He designed the original structure of Java and built the first compiler and virtual machine for the language. Gosling explained that his early experience creating a virtual machine for a DEC VAX computer during his graduate studies influenced his approach to Java. He believed that programs could run consistently across different systems by using a virtual machine as a common platform.

Another contribution by Gosling was co-writing the "bundle" program called "shar," which is described in detail in the book The Unix Programming Environment by Brian Kernighan and Rob Pike.

Gosling left Sun Microsystems on April 2, 2010, after the company was acquired by Oracle Corporation. He cited reasons such as reduced pay, fewer opportunities for decision-making, changes in his role, and ethical concerns. He later expressed criticism of Oracle in interviews, noting that Oracle’s lawyers seemed excited about discussions involving patents during the Sun-Oracle merger. He also stated during the Oracle v. Google trial over Android that, while he disagreed with Oracle, he believed Oracle had a valid argument in the case. However, he supported the court’s decision that application programming interfaces (APIs) should not be protected by copyright.

In March 2011, Gosling joined Google. Six months later, he followed a colleague to a startup named Liquid Robotics. In late 2016, Liquid Robotics was acquired by Boeing. After the acquisition, Gosling left Liquid Robotics and joined Amazon Web Services as a Distinguished Engineer in May 2017. He retired in July 2024.

Throughout his career, Gosling has also served as an advisor for Lightbend, an independent director at Jelastic, a strategic advisor for Eucalyptus, and a board member of DIRTT Environmental Solutions.

On July 2, 2024, Gosling officially announced his retirement.

Awards

For his achievement, the National Academy of Engineering in the United States chose him as a Foreign Associate member.

  • 2002: received The Economist Innovation Award.
  • 2002: received The Flame Award and the USENIX Lifetime Achievement Award.
  • 2007: was made an Officer of the Order of Canada. The Order of Canada is Canada's second highest civilian honor. Officers are the second highest rank within the Order.
  • 2013: became a fellow of the Association for Computing Machinery.
  • 2015: received the IEEE John von Neumann Medal.
  • 2019: was named a Computer History Museum Fellow for his role in creating, designing, and implementing the Java programming language.

Books

  • Ken Arnold, James Gosling, and David Holmes. The Java Programming Language, Fourth Edition. Addison-Wesley Professional, 2005. ISBN 0-321-34980-6
  • James Gosling, Bill Joy, Guy L. Steele Jr., and Gilad Bracha. The Java Language Specification, Third Edition. Addison-Wesley Professional, 2005. ISBN 0-321-24678-0
  • Ken Arnold, James Gosling, and David Holmes. The Java Programming Language, Third Edition. Addison-Wesley Professional, 2000. ISBN 0-201-70433-1
  • James Gosling, Bill Joy, Guy L. Steele Jr., and Gilad Bracha. The Java Language Specification, Second Edition. Addison-Wesley, 2000. ISBN 0-201-31008-2
  • Gregory Bollella (Editor), Benjamin Brosgol, James Gosling, Peter Dibble, Steve Furr, David Hardin, and Mark Turnbull. The Real-Time Specification for Java. Addison Wesley Longman, 2000. ISBN 0-201-70323-8
  • Ken Arnold and James Gosling. The Java Programming Language, Second Edition. Addison-Wesley, 1997. ISBN 0-201-31006-6
  • Ken Arnold and James Gosling. The Java Programming Language. Addison-Wesley, 1996. ISBN 0-201-63455-4
  • James Gosling, Bill Joy, and Guy L. Steele Jr. The Java Language Specification. Addison Wesley Publishing Company, 1996. ISBN 0-201-63451-1
  • James Gosling, Frank Yellin, and The Java Team. The Java Application Programming Interface, Volume 2: Window Toolkit and Applets. Addison-Wesley, 1996. ISBN 0-201-63459-7
  • James Gosling, Frank Yellin, and The Java Team. The Java Application Programming Interface, Volume 1: Core Packages. Addison-Wesley, 1996. ISBN 0-201-63453-8
  • James Gosling and Henry McGilton. The Java Language Environment: A White Paper. Sun Microsystems, 1996
  • James Gosling, David S. H. Rosenthal, and Michelle J. Arden. The NeWS Book: An Introduction to the Network/Extensible Window System (Sun Technical Reference Library). Springer, 1989. ISBN 0-387-96915-2

More
articles