Guy L. Steele Jr.
Professor Guy Lewis Steele Jr. PhD | |
---|---|
Born | |
Other names | Great Quux, GLS |
Education |
|
Known for | |
Awards | |
Scientific career | |
Fields | Computer science |
Institutions | |
Doctoral advisor | Gerald Sussman |
Guy Lewis Steele Jr. (/stiːl/; born October 2, 1954) is an American computer scientist who has played an important role in designing and documenting several computer programming languages and technical standards.
Biography
Steele was born in Missouri and graduated from the Boston Latin School in 1972. He received a Bachelor of Arts (BA) in applied mathematics from Harvard University (1975) and a Master's degree (MS) and Doctor of Philosophy (PhD) from Massachusetts Institute of Technology (MIT) in computer science (1977, 1980). He then worked as an assistant professor of computer science at Carnegie Mellon University and a compiler implementer at Tartan Laboratories. Then he joined the supercomputer company Thinking Machines, where he helped define and promote a parallel computing version of the Lisp programming language named *Lisp (Star Lisp) and a parallel version of the language C named C*.
In 1994, Steele joined Sun Microsystems and was invited by Bill Joy to become a member of the Java team after the language had been designed, since he had a track record of writing good specifications for extant languages.[citation needed] He was named a Sun Fellow in 2003. Steele joined Oracle in 2010 when Oracle acquired Sun Microsystems.
Works
While at MIT, Steele published more than two dozen papers with Gerald Jay Sussman on the subject of the language Lisp and its implementation (the Lambda Papers). One of their most notable contributions was the design of the language Scheme.
Steele also designed the original command set of Emacs and was the first to port TeX (from WAITS to ITS). He has published papers on other subjects, including compilers, parallel processing, and constraint languages. One song he composed has been published in the official journal of the Association for Computing Machinery Communications of the ACM (CACM) ("The Telnet Song", April 1984, a parody of the behavior of a series of PDP-10 TELNET implementations written by Mark Crispin).
Steele has served on accredited technical standards committees, including: Ecma International (formerly European Computer Manufacturers Association (ECMA)) TC39 (for the language ECMAScript, for which he was editor of the first edition), X3J11 (for C), and X3J3 (for Fortran) and is, as of 2019, chairman of X3J13 (for Common Lisp). He was also a member of the Institute of Electrical and Electronics Engineers (IEEE) working group that produced the IEEE Standard for the language Scheme, IEEE Std 1178-1990. He represented Sun Microsystems in the High Performance Fortran Forum, which produced the High Performance Fortran specification in May, 1993.
In addition to specifications of the language Java, Steele's work at Sun Microsystems has included research in parallel algorithms, implementation strategies, and architecture and software support. In 2005, Steele began leading a team of researchers at Sun developing a new language named Fortress, a high-performance language designed to obsolete Fortran.
Steele participated in the development of the Verse programming language designed by Epic Games.[1]
Books
In 1982, Steele edited The Hacker's Dictionary (Harper & Row, 1983; ISBN 0-06-091082-8), which was a print version of the Jargon File.
Steele and Samuel P. Harbison wrote C: A Reference Manual, (Prentice-Hall, 1984; ISBN 0-13-110016-5), to provide a precise description of the language C, which Tartan Laboratories was trying to implement on a wide range of systems. Both authors participated in the American National Standards Institute (ANSI) C standardization process; several revisions of the book were issued to reflect the new standard.
On 16 March 1984, Steele published Common Lisp the Language (Digital Press; ISBN 0-932376-41-X; 465 pages). This first edition was the original specification of Common Lisp (CLtL1) and served as the basis for the ANSI standard. Steele released a greatly expanded second edition in 1990, (1029 pages) which documented a near-final version of the ANSI standard.[2]
Steele, along with Charles H. Koelbel, David B. Loveman, Robert S. Schreiber, and Mary E. Zosel wrote The High Performance Fortran Handbook (MIT Press, 1994; ISBN 0-262-11185-3).
Steele also coauthored the original The Java Language Specification with James Gosling and Bill Joy.
Awards
Steele received the ACM Grace Murray Hopper Award in 1988. He was named a Founding AAAI Fellow in 1990,[3] an ACM Fellow in 1994, a member of the National Academy of Engineering of the United States of America in 2001 and a Fellow of the American Academy of Arts and Sciences in 2002. He received the Dr. Dobb's Excellence in Programming Award in 2005.[4]
Other activities
Steele is a modern western square dancer and caller from Mainstream up through C3A, a member of Tech Squares,[5] and a member of Callerlab.
Under the pseudonym Great Quux,[6] which was an old student nickname at the Boston Latin School and MIT, he has published light verse and "Crunchly" cartoons; a few of the latter appeared in The New Hacker's Dictionary. He has also used his initials (GLS).
In 1998, Steele solved the game Teeko via computer, showing what must occur if both players play wisely; he found that neither player can force a win. He also showed that the Advanced Teeko variant is a win for Black (again, assuming perfect play), as is one other variant, but the other fourteen variants are draws.[7]
References
- ^ "The Verse Calculus A Core Calculus for Functional Logic Programming" (PDF). March 2023.
- ^ Steele Jr., Guy L. (1990). Common Lisp the Language, 2nd Edition. Digital Press. ISBN 1-55558-041-6. Retrieved 2019-06-28.
{{cite book}}
:|website=
ignored (help) - ^ "Elected AAAI Fellows". AAAI. Retrieved 2024-01-02.
- ^ Erickson, Jonathan (April 1, 2005). "2005 Dr. Dobb's Journal Excellence in Programming Award". Dr. Dobb's Journal. London, England: Informa Tech. Archived from the original on April 30, 2005. Retrieved 2019-06-28.
- ^ "Oracle Labs; People Details". Labs.oracle.com. Retrieved 2016-09-25.
- ^ "Guy Steele". Harvard John A. Paulson School of Engineering and Applied Sciences. 2013-03-22. Archived from the original on 2019-04-17. Retrieved 2019-06-28.
- ^ Epstein, Richard A. (2012). The Theory of Gambling and Statistical Logic, 2nd ed. Academic Press. p. 341.
Further reading
- Seibel, Peter (September 16, 2009). Coders at Work: Reflections on the Craft of Programming. Apress. pp. 325–372. ISBN 978-1-4302-1948-4. OCLC 10605060.
External links
- Works by Guy L. Steele at Project Gutenberg
- Works by or about Guy L. Steele Jr. at the Internet Archive
- Sun/Oracle biographical page for Steele
- Telnet Song
- Poems (mostly parodies) from Guy Steele's student days
- A podcast interview with Guy Steele on Software Engineering Radio
- "Growing a Language", Keynote at the 1998 ACM OOPSLA Conference (text)
- Guy Steele: Dan Friedman--Cool Ideas (Dan Friedman's 60th Birthday)