Guy Steele

Guy Steele - Software Architect

Guy Steele is a Software Architect for Oracle Labs and Principal Investigator of the Programming Language Research project. His research interests include algorithms, compiler design, distributed systems, floating-point arithmetic, Fortress, functional programming, garbage collection, hardware/software codesign, high performance computing, high productivity computing, interval arithmetic, Java, Lisp, object-oriented programming, operating systems, parallel algorithms, parallel computer architectures, parallel processing, programming languages, Scheme, and supercomputer design.

He received his A.B. in applied mathematics from Harvard College (1975), and his S.M. and Ph.D. in computer science and artificial intelligence from MIT (1977 and 1980). Prior to becoming a member of Oracle Labs, he was an assistant professor of computer science at Carnegie-Mellon University; a member of technical staff at Tartan Laboratories in Pittsburgh, Pennsylvania; a senior scientist at Thinking Machines Corporation in Cambridge, Massachusetts; and a Distinguished Engineer and then a Sun Fellow at Sun Microsystems Laboratories.

He is author or co-author of five books: Common Lisp: The Language (Digital Press, first ed. 1984, second ed. 1990); C: A Reference Manual (Prentice-Hall, first ed. 1984, fourth ed. 1995); The Hacker's Dictionary (Harper&Row, 1983), which has been revised as The New Hacker's Dictionary, edited by Eric Raymond with introduction and illustrations by Guy Steele (MIT Press, first ed. 1992, third ed. 1996); The High Performance Fortran Handbook (MIT Press, 1994); and The Java Language Specification (Addison-Wesley, first ed. 1996, second ed. 2000, third ed. 2005; Java SE 7 ed., 2013). All are still in print. He has been praised for an especially clear and thorough writing style in explaining the details of programming languages.

He has published more than two dozen papers on the subject of the Lisp language and Lisp implementation, including a series with Gerald Jay Sussman that defined the Scheme dialect of Lisp. One of these, "Multiprocessing Compactifying Garbage Collection," won first place in the ACM 1975 George E. Forsythe Student Paper Competition. Other papers published in CACM are "Design of a LISP-Based Microprocessor" with Gerald Jay Sussman (November 1980) and "Data Parallel Algorithms" with W. Daniel Hillis (December 1986). He has also published papers on other subjects, including compilers, parallel processing, and constraint languages. One song he composed has been published in CACM ("The Telnet Song", April 1984).

The Association for Computing Machinery awarded him the 1988 Grace Murray Hopper Award and named him an ACM Fellow in 1994. He was elected a Fellow of the American Association for Artificial Intelligence in 1990. He led the team that received a 1990 Gordon Bell Prize honorable mention for achieving the fastest speed to that date for a production application: 14.182 Gigaflops. He was also awarded the 1996 ACM SIGPLAN Programming Languages Achievement Award. In 2001 he was elected to the National Academy of Engineering of the United States of America. In 2002 he was elected to the American Academy of Arts and Sciences. In 2011 he was named an IEEE Fellow.

He has served on accredited standards committees X3J11 (C language) and X3J3 (Fortran), and served as chairman of X3J13 (Common Lisp). He was also a member of the IEEE committee that produced the IEEE Standard for the Scheme Programming Language, IEEE Std 1178-1990. He was a representative to the High Performance Fortran Forum, which produced the High Performance Fortran specification in May, 1993.

He has served on Ph.D. thesis committees for twelve students. He has served as program chair for the 1984 ACM Lisp Conference and for the 15th ACM POPL conference (1988) and 23rd ACM POPL conference (1996); he has also served on program committees for more than 30 other conferences. He served a five-year term on the ACM Turing Award committee, chairing it in 1990. He served a five-year term on the ACM Grace Murray Hopper Award committee, chairing it in 1992.

He has had chess problems published in Chess Life and Review and is a Life Member of the United States Chess Federation. He has sung in the bass section of the MIT Choral Society (John Oliver, conductor) and the Masterworks Chorale (Allen Lannom, conductor) as well as in choruses with the Pittsburgh Symphony Orchestra at Great Woods (Michael Tilson Thomas, conductor) and with the Boston Concert Opera (David Stockton, conductor). He has played the role of Lun Tha in "The King and I" and the title role in "Li'l Abner". He is a member of Tech Squares, the Plus-level Modern Western Square Dance club at MIT, and calls Mainstream through C2. He designed the original EMACS command set and was the first person to port TeX.

At Oracle Labs he is responsible for research in language design and implementation strategies, and architectural and software support for programming languages. His work at Sun Microsystem Laboratores and Oracle Labs has included network design for processor clusters; circuit designs for floating-point arithmetic; proposals for improvements to the Java Programming Language such as generic types, operator overloading, and constant classes; and the Fortress programming language.