For information on exhibition and sponsorship opportunities at RailsConf, contact Yvonne Romaine at email@example.com.
Download the RailsConf Sponsor/Exhibitor Prospectus
View a complete list of RailsConf contacts.
People keep inventing new programming languages. What is programming, and how can the design of a programming language help or hinder that process? We have learned a lot over the last five decades: principles, conventions, theory, fashions, and fads. “Those who cannot remember the past are condemned to repeat it.”
In this antiphonal multimedia presentation, we survey numerous design features and important lessons from the past that future programmers—and future programming language designers—ought not forget. We illustrate each lesson by discussing specific programming languages of the past, and endeavor to shine what light we can on the future.
Guy L. Steele Jr. is a Software Architect at Oracle. 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 M.I.T. (1977 and 1980). He has also been an assistant professor of computer science at Carnegie-Mellon University; a member of technical staff at Tartan Laboratories in Pittsburgh, Pennsylvania; and a senior scientist at Thinking Machines Corporation in Cambridge, Massachusetts. He joined Sun Microsystems in 1994 as a Distinguished Engineer and was named a Sun Fellow in 2003. Sun Microsystems was acquired by Oracle in 2010, and he is now a member of Oracle Labs.
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). 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 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. 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 recent work at Sun has included network design for processor clusters, circuit designs for floating-point arithmetic and interval arithmetic, and proposals for improvements to the Java Programming Language such as generic types, operator overloading, and constant classes. Currently he is Principal Investigator of the Oracle Labs Programming Languages Research Group, which is working on Fortress, a next-generation programming language for scientific and multicore computing.
Richard P. Gabriel is a researcher at IBM Research, looking into the architecture, design, and implementation of extraordinarily large, self-sustaining systems. He is the award-winning author of four books and a poetry chapbook. He lives in California.
Comments on this page are now closed.