James Gosling
James Arthur Gosling | |
---|---|
Born | |
Nationality | Canadian American |
Alma mater | Carnegie Mellon University University of Calgary |
Known for | Java (programming language) |
Awards | Officer of the Order of Canada |
Scientific career | |
Institutions | Sun Microsystems Oracle Corporation Liquid Robotics[1] Typesafe Inc. |
Thesis | Algebraic Constraints (1983) |
Doctoral advisor | Bob Sproull[2] |
Website | nighthacks |
Dr. James Arthur Gosling, OC (born May 19, 1955 near Calgary, Alberta, Canada) is a Canadian computer scientist, best known as the father of the Java programming language.[3][4]
Education and career
In 1977, Gosling received a Bachelor of Science in Computer Science from the University of Calgary. In 1983, he earned a Ph.D in Computer Science from Carnegie Mellon University, supervised by Bob Sproull.[2][5][6] While working towards his doctorate, he wrote a version of Emacs called Gosling Emacs (Gosmacs), and before joining Sun Microsystems he built a multi-processor version of Unix[7] while at Carnegie Mellon University, as well as 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.[8][9]
On April 2, 2010, Gosling left Sun Microsystems which had recently been acquired by the Oracle Corporation.[8] Regarding why he left, Gosling cited reductions in pay, status, and decision-making ability, change of role, and ethical challenges.[10] 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."[9] Later, during the Oracle vs. Google trial over Android, he clarified his position saying "Just because Sun didn't have patent suits in our genetic code doesn't mean we didn't feel wronged. 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." [11]
On March 28, 2011, James Gosling announced on his blog that he had been hired by Google.[12] Five months later, he announced that he joined a startup called Liquid Robotics.[1]
Gosling is listed as an advisor at the Scala company Typesafe Inc., launched in May 2011.[13]
Contributions
Gosling is generally credited with having invented the Java programming language in 1994.[14][15][16] 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 1980s 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.[17]
For his achievement he was elected to Foreign Associate member of the United States National Academy of Engineering.[18] He has also made major contributions to several other software systems, such as NeWS and Gosling Emacs. He co-wrote the "bundle" program, a utility thoroughly detailed in Brian Kernighan and Rob Pike's book The Unix Programming Environment.
Honors
- 2002: he was awarded The Economist Innovation Award.[citation needed]
- 2007: he was made an Officer of the Order of Canada.[19] The Order is Canada's second highest civilian honor. Officers are the second highest grade within the Order.
Personal life
Gosling is married and has three daughters, Kate, Lorena and Kelsey.[citation needed]
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,[dead link] 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
References
- ^ a b I've moved again : On a New Road. Nighthacks.com. Retrieved on 2012-02-21.
- ^ a b James Gosling at the Mathematics Genealogy Project
- ^ James Gosling publications indexed by Microsoft Academic
- ^ James Gosling at DBLP Bibliography Server
- ^ Gosling, James (1983). Algebraic Constraints (PhD thesis). Carnegie Mellon University.
- ^ http://www.cs.cmu.edu/~alumni/advisor.html#G
- ^ 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 2007-02.
{{cite web}}
: Check date values in:|accessdate=
(help) - ^ a b Guevin, Jennifer. (2010-04-10) Java co-creator James Gosling leaves Oracle. News.cnet.com. Retrieved on 2012-02-21.
- ^ 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.
- ^ Darryl K. Taft. (2010-09-22) Java Creator James Gosling: Why I Quit Oracle. eWEEK.com
- ^ My attitude on Oracle v Google
- ^ Next Step on the Road. Nighthacks.com. Retrieved on 2012-02-21.
- ^ Typesafe — Company: Team. Typesafe.com. Retrieved on 2012-02-21.
- ^ Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1145/1016998.1017013, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with
|doi=10.1145/1016998.1017013
instead. - ^ Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1109/2.587548, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with
|doi=10.1109/2.587548
instead. - ^ "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.
- ^ Attention: This template ({{cite doi}}) is deprecated. To cite the publication identified by doi:10.1109/MSPEC.2011.5910448, please use {{cite journal}} (if it was published in a bona fide academic journal, otherwise {{cite report}} with
|doi=10.1109/MSPEC.2011.5910448
instead. - ^ "NAE Members Directory – Dr. James Arthur Gosling". NAE. Retrieved March 29, 2011.
{{cite web}}
: Check date values in:|accessdate=
(help) - ^ Governor General Announces New Appointments to the Order of Canada. February 20, 2007
External links
- James Gosling's personal weblog
- Presentation by James Gosling about the origins of Java, from the JVM Languages Summit 2008
- slide show depicting Gosling's life
- The Process of Innovation – James Gosling's talk at Stanford University (video archive)
- James Gosling at the Mathematics Genealogy Project
- All articles with faulty authority control information
- 1955 births
- Living people
- Sun Microsystems people
- Java programming language
- Canadian computer scientists
- American computer scientists
- Carnegie Mellon University alumni
- Canadian computer programmers
- Emacs
- University of Calgary alumni
- Canadian inventors
- Canadian bloggers
- Solaris people
- Programming language designers
- People from Calgary
- Officers of the Order of America
- Free software programmers
- Computer scientists who contributed to software patents