The power of generic operations
Most of the systems we build work well for the application for which they were designed, but they are fragile in that adapting to even small changes in the problem requires significant code changes. Can we maximize our flexibility by exchanging other virtues as evidence of accuracy or effective execution? I think that is often the right way.
Indeed, Postel's law, "Be conservative in what you do, be liberal in what you accept from others," is sound advice for strengthening the robustness of open systems.
In the spring, I teach an advanced programming class, where the goal is to learn to avoid programming in a corner. One of the most powerful (and most dangerous) techniques to enhance flexibility is to use scalable generic operations.
I will show where it is advantageous to create systems with scalable generic operations and how to control these systems.
Gerald Jay Sussman is Professor of Electrical Engineering at the Massachusetts Institute of Technology (MIT). He received his MS and PhD degrees in mathematics from MIT in 1968 and 1973 respectively. He has been involved in artificial intelligence research at MIT since 1964. His research has focused on understanding the problem-solving strategies used by scientists and engineers, in order to automate parts of the world. process and formalize it to provide more effective and efficient scientific methods. engineer training. Sussman has also worked in computer languages, computer architecture and VLSI design.
Sussman is a co-author (with Hal Abelson and Julie Sussman) of the computer introduction textbook entitled Structure and Interpretation of Computer Programs. It has been used at MIT for several decades and has been translated into several languages.
Sussman's contributions to artificial intelligence include problem solving by debugging nearly correct designs, stress propagation applied to the analysis and synthesis of electrical circuits, the explanation based on the Dependency and dependency-based backtracking, as well as various language structures to express problem-solving strategies. Sussman and his former pupil, Guy L. Steele Jr., invented the Scheme programming language in 1975.