Guy L. Steele Jr.
Guy Lewis Steele Jr. (//; 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.
Guy Lewis Steele Jr.
Guy Steele in 2015
|Doctoral advisor||Gerald Sussman|
Steele was born in Missouri and graduated from the Boston Latin School in 1972. He received a Bachelor of Arts (B.A.) in applied mathematics from Harvard University (1975) and an Master's degree (M.S.) and Doctor of Philosophy (Ph.D.) 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. He was named a Sun Fellow in 2003. Steele joined Oracle in 2010 when Oracle acquired Sun Microsystems.
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 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.
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 received the ACM Grace Murray Hopper Award in 1988. He was named 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.
Under the pseudonym Great Quux, 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 the initialism 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. Steele 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.
- Steele Jr., Guy L. (1990). "Common Lisp the Language, 2nd Edition". CMU Artificial Intelligence Repository. Digital Press. ISBN 1-55558-041-6. Retrieved 2019-06-28.
- 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. Retrieved 2019-06-28.
- Epstein, Richard A. (2012). The Theory of Gambling and Statistical Logic, 2nd ed. Academic Press. p. 341.
- Works by Guy L. Steele at Project Gutenberg
- Works by or about Guy L. Steele Jr. at 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)