James Gosling

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For the former Louisiana sheriff, see James M. Goslin.
James Gosling
James Gosling 2008.jpg
Born James Gosling
(1955-05-19) May 19, 1955 (age 61)
Near Calgary, Alberta, Canada
Residence San Francisco Bay Area, California, U.S.
Nationality Canadian
Alma mater
Thesis Algebraic Constraints (1983)
Doctoral advisor Bob Sproull[2]
Known for Java (programming language)
Notable awards Officer of the Order of Canada

James Arthur Gosling, OC (born May 19, 1955) is a Canadian computer scientist, best known as the creator of the Java programming language.[3][4]

Education and career[edit]

James Gosling received a Bachelor of Science from the University of Calgary [5] and his M.A. and Ph.D. from Carnegie Mellon University.[2][6][7] While working towards his doctorate, he wrote a version of Emacs called Gosling Emacs (Gosmacs). Before joining Sun Microsystems he built a multi-processor version of Unix for a 16-way computer system[8] while at Carnegie Mellon University. There, he also developed several compilers and mail systems.

Between 1984 and 2010, Gosling was with Sun Microsystems. 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.

On April 2, 2010, Gosling left Sun Microsystems which had recently been acquired by the Oracle Corporation.[9] Regarding why he left, Gosling cited reductions in pay, status, decision-making ability, change of role, and ethical challenges.[11] 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] Later, during the Oracle v Google trial over Android, he clarified his position saying "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."[12] However, he approved of the court's ruling that APIs should not be copyrightable.[13]

On March 28, 2011, James Gosling announced on his blog that he had been hired by Google.[14] Five months later, he announced that he joined a startup called Liquid Robotics.[1]

Gosling is listed as an adviser at the Scala company Typesafe Inc.,[15] Independent Director at Jelastic[16] and Strategic Advisor for Eucalyptus.[17]

Gosling is known for his love of proving "the unknown" and has noted that his favorite irrational number is √2. He has a framed picture of the first 1,000 digits of √2 in his office. [18]


Gosling initially became known as the author of Gosling Emacs, and also invented the windowing system NeWS, which lost out to X Window because Sun did not give it an open source license. He is generally credited with having invented the Java programming language in 1994.[19][20][21] He created the original design of Java and implemented the language's original compiler and virtual machine.[22] Gosling traces the origins of the approach to his early graduate-student days, when he created a pseudo-code (p-code) virtual machine for the lab's DEC VAX computer, so that his professor could run programs written in UCSD Pascal. Pascal compiled into p-code to foster precisely this kind of portability. 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.[23]

For his achievement the National Academy of Engineering in the United States elected him as a Foreign Associate member.[24] Another contribution of Gosling's was co-writing the "bundle" program, a utility thoroughly detailed in Brian Kernighan and Rob Pike's book The Unix Programming Environment.



  • 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[edit]


  1. ^ a b I've moved again : On a New Road. Nighthacks.com. Retrieved on 2016-05-17.
  2. ^ a b James Gosling at the Mathematics Genealogy Project
  3. ^ List of publications from Microsoft Academic Search
  4. ^ James Gosling at DBLP Bibliography Server
  5. ^ http://nighthacks.com/roller/jag/resource/bio.html
  6. ^ Gosling, James (1983). Algebraic Constraints (PhD thesis). Carnegie Mellon University. 
  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 February 2007.  Check date values in: |access-date= (help)
  9. ^ a b Guevin, Jennifer. (2010-04-10) Java co-creator James Gosi leaves Oracle. News.cnet.com. Retrieved on 2012-02-21.
  10. ^ a b Shankland, Stephen. (2011-03-28) Java founder James Gosling joins Google | Deep Tech – CNET News. News.cnet.com. Retrieved on 2012-02-21.
  11. ^ Darryl K. Taft. (2010-09-22) Java Creator James Gosling: Why I Quit Oracle. eWEEK.com
  12. ^ My attitude on Oracle v Google. Nighthacks.com. Retrieved on 2016-05-17.
  13. ^ "Meltdown Averted". nighthacks.com. Retrieved 2017-03-13. 
  14. ^ Next Step on the Road. Nighthacks.com. Retrieved on 2016-05-17.
  15. ^ Typesafe — Company: Team. Typesafe.com. Retrieved on 2012-02-21.
  16. ^ James Gosling and Bruno Souza Join Jelastic as Advisers. InfoQ.com. Retrieved on 2014-11-24.
  17. ^ Eucalyptus. Eucalyptus.com Retrieved on 2013-04-22
  18. ^ https://www.youtube.com/watch?v=9ei-rbULWoA
  19. ^ Allman, E. (2004). "Interview: A Conversation with James Gosling". Queue. 2 (5): 24. doi:10.1145/1016998.1017013. 
  20. ^ Gosling, J. (1997). "The feel of Java". Computer. 30 (6): 53–57. doi:10.1109/2.587548. 
  21. ^ "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. 
  22. ^ 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. 
  23. ^ 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. 
  24. ^ "NAE Members Directory – Dr. James Arthur Gosling". NAE. Retrieved March 29, 2011. 
  25. ^ The 2002 Economist Innovation Award Winner.
  26. ^ Winners of the USENIX Lifetime Achievement Award.
  27. ^ "Governor". Retrieved August 28, 2016. [dead link]. February 20, 2007
  28. ^ ACM Names Fellows for Computing Advances that Are Transforming Science and Society, Association for Computing Machinery, accessed 2013-12-10.
  29. ^ http://www.ieee.org/documents/von_neumann_rl.pdf IEEE John von Neumann Medal

External links[edit]