ArticleslgStudy

computer science

James Gosling

James Gosling is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand James Gosling rather than just read about it. In short: James Arthur Gosling (born 19 May 1955) is a Canadian computer scientist, best known as the founder and lead designer behind the Java programming language. 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 windowing systems.

James Gosling — main illustration
James Gosling — illustration

Key takeaways

  • James Gosling belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect James Gosling to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of James Gosling from memory before moving on to harder problems.

Reference excerpt

James Arthur Gosling (born 19 May 1955) is a Canadian computer scientist, best known as the founder and lead designer behind the Java programming language. 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 windowing systems.

Early life Gosling was born in Calgary, Alberta, to Joyce Morrison and Dave Gosling. He is of English, Welsh, Scottish, and Icelandic descent. Gosling attended William Aberhart High School. 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. received a Bachelor of Science from the University of Calgary and his M.A. and Ph.D. from Carnegie Mellon University, all in computer science. 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 while at Carnegie Mellon University, before joining Sun Microsystems.

Career and contributions Gosling joined Sun Microsystems in 1984, where he worked for the next 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. He is known as the father of the Java programming language. 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. He created the original design of Java and implemented the language's original compiler and virtual machine. 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. 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. He left Sun Microsystems on April 2, 2010, after it was acquired by the Oracle Corporation, citing reductions in pay, status, and decision-making ability, along with change of role and ethical challenges. 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." 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." However, he approved of the court's ruling that APIs should not be copyrightable. In March 2011, Gosling joined Google. Six months later, he followed his colleague Bill Vass and joined a startup called Liquid Robotics. In late 2016, Liquid Robotics was acquired by Boeing. Following the acquisition, Gosling left Liquid Robotics to work at Amazon Web Services as Distinguished Engineer in May 2017. He has worked as an advisor at the Scala company Lightbend, Independent Director at Jelastic, and Strategic Advisor for Eucalyptus, and is a board member of DIRTT Environmental Solutions. On July 2, 2024, Gosling announced he had officially retired.

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

2002: awarded The Economist Innovation Award. 2002: awarded The Flame Award USENIX Lifetime Achievement Award. 2007: made an Officer of the Order of Canada. The Order is Canada's second highest civilian honor. Officers are the second highest grade within the Order. 2013: became a fellow of the Association for Computing Machinery. 2015: awarded IEEE John von Neumann Medal 2019: named a Computer History Museum Fellow for the conception, design, and implementation of the Java programming language.

Books Ken Arnold, James Gosling, 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., Gilad Bracha, The Java Language Specification, Third Edition, Addison-Wesley Professional, 2005, ISBN 0-321-24678-0 Ken Arnold, James Gosling, 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., 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, Mark Turnbull, The Real-Time Specification for Java, Addison Wesley Longman, 2000, ISBN 0-201-70323-8 Ken Arnold, James Gosling, The Java programming language Second Edition, Addison-Wesley, 1997, ISBN 0-201-31006-6 Ken Arnold, James Gosling, The Java programming language, Addison-Wesley, 1996, ISBN 0-201-63455-4 James Gosling, Bill Joy, Guy L. Steele Jr., The Java Language Specification, Addison Wesley Publishing Company, 1996, ISBN 0-201-63451-1 James Gosling, Frank Yellin, 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, The Java Team, The Java Application Programming Interface, Volume 1: Core Packages, Addison-Wesley, 1996, ISBN 0-201-63453-8 James Gosling, Henry McGilton, The Java language Environment: A white paper, Sun Microsystems, 1996 James Gosling, David S. H. Rosenthal, 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

See also

History of Java Article on James Gosling in The Canadian Encyclopedia

References

… excerpt ends here. Continue reading the full article.

Illustrations

James Gosling illustration

Worked examples

Example 1 — a first encounter with James Gosling

Start with the simplest possible case. Write down what James Gosling claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to James Gosling before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about James Gosling ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of James Gosling

In research
James Gosling appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses James Gosling in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
James Gosling is common in secondary-school and first-year university syllabi. It links to neighbouring topics 1955 births, Canadian computer programmers, Canadian computer scientists, so understanding it makes those chapters shorter.
In everyday life
Look for James Gosling outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “James Gosling” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study James Gosling in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what James Gosling means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain James Gosling out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is James Gosling in simple terms?

James Arthur Gosling (born 19 May 1955) is a Canadian computer scientist, best known as the founder and lead designer behind the Java programming language. Gosling was elected a member of the National Academy of Engineering in 2004 for the conception and development of the architecture for the Java…

Why does James Gosling matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study James Gosling?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on James Gosling.

Tags

  • 1955 births
  • Canadian computer programmers
  • Canadian computer scientists
  • Canadian inventors
  • Canadian male bloggers
  • Canadian people of English descent
  • Canadian people of Icelandic descent
  • Canadian people of Scottish descent
  • Canadian people of Welsh descent
  • Carnegie Mellon University alumni
  • Emacs
  • Fellows of the Association for Computing Machinery

Keep exploring