Guy L. Steele Jr.

From Wikipedia, the free encyclopedia
  (Redirected from Guy L. Steele, Jr.)
Jump to navigation Jump to search
Guy Lewis Steele Jr.
Guy Steele.jpg
Guy Steele in 2015
Born (1954-10-02) October 2, 1954 (age 64)
Alma materHarvard University, MIT
Known forProgramming languages
AwardsACM Grace Murray Hopper Award (1988)
Harry H. Goode Memorial Award (2007)
Scientific career
FieldsComputer science
InstitutionsOracle Corporation, Sun Microsystems, Thinking Machines
Doctoral advisorGerald Sussman

Guy Lewis Steele Jr. (/stl/; born October 2, 1954) is an American computer scientist who has played an important role in designing and documenting several computer programming languages.

Biography[edit]

Steele was born in Missouri and graduated from the Boston Latin School in 1972. He received a BA in applied mathematics from Harvard (1975) and an MS and Ph.D. from 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 version of Lisp called *Lisp (Star Lisp) and a parallel version of C called 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 existing languages.[citation needed] He was named a Sun Fellow in 2003. Steele joined Oracle in 2010 when Oracle acquired Sun Microsystems.

Works[edit]

While at MIT, Steele published more than two dozen papers with Gerald Jay Sussman on the subject of the Lisp language and its implementation (the Lambda Papers). One of their most notable contributions was the design of the programming 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 Communications of the Association for Computing Machinery (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 standards committees ECMA TC39 (ECMAScript, for which he was editor of the first edition), X3J11 (the C language), and X3J3 (Fortran) and is currently chairman of X3J13 (Common Lisp). He was also a member of the IEEE working group that produced the IEEE Standard for the Scheme Programming Language, 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 Java programming language, Steele's work at Sun Microsystems has included research in parallel algorithms, implementation strategies, and architectural and software support. In 2005, Steele began leading a team of researchers at Sun developing a new programming language named Fortress, a high-performance language designed to obsolete Fortran.

Books[edit]

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 C programming language, which Tartan Laboratories was trying to implement on a wide range of systems. Both authors participated in the 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, (Digital Press; ISBN 1-55558-041-6; 1029 pages) which documented a near-final version of the ANSI standard.[1]

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 all three editions of The Java Language Specification (Addison-Wesley, third ed. 2005; ISBN 0-321-24678-0) with James Gosling, Bill Joy, and Gilad Bracha.

Awards[edit]

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.[2]

Other activities[edit]

Steele is a Modern Western square dancer and caller from Mainstream up through C3A, a member of Tech Squares,[3] and a member of Callerlab.

Under the pseudonym "Great Quux",[4] 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 /ˈɡlɪs/.

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.[5]

References[edit]

  1. ^ "Common Lisp the Language, 2nd Edition". Cs.cmu.edu. Retrieved 2016-09-25.
  2. ^ https://web.archive.org/web/20050430162655/http://www.ddj.com/documents/s=9603/ddj0504a/0504a.html
  3. ^ "Oracle Labs | People Details". Labs.oracle.com. Retrieved 2016-09-25.
  4. ^ "Guy Steele | Harvard John A. Paulson School of Engineering and Applied Sciences". Seas.harvard.edu. 2013-03-22. Retrieved 2016-09-25.
  5. ^ Epstein, Richard A. (2012) The Theory of Gambling and Statistical Logic, 2nd ed. Academic Press, p. 341.

Further reading[edit]

External links[edit]