Guy Steele is a researcher for Sun Microsystems Laboratories, working on the Programming Language Research project. His research interests include Algorithms, Compilation, Distributed Systems, High Performance Computing, Java, Lisp Scheme, Object Oriented Programming, Operating Systems, Programming Languages, Software, and Supercomputer design. He received a Ph.D. Computer Science and Artificial Intelligence from MIT in 1980. 


Designing by Accident: Abstract

Many design efforts rely on addition, the accretion of features, but often the best breakthroughs happen by subtraction, when a unifying insight permits the consolidation or elimination of features. Such insights often occur serendipitously, but may also yield to diligent and systematic efforts.

An extreme example of this phenomenon was the development of Scheme, an accidental programming language that had astonishing success. Gerald Jay Sussman and I had intended to combine a number of trendy features to produce the next great language for Artificial Intelligence programming, but we ended up with a small, perhaps even beautiful dialect of Lisp. In this talk I will explain what we were trying to do, what went wrong, and why what went wrong was a good thing after all.