The MIT/Stanford style of design

I and just about every designer of Common Lisp and CLOS has had extreme exposure to the MIT/Stanford style of design. The essence of this style can be captured by the phrase ``the right thing.'' To such a designer it is important to get all of the following characteristics right:

  • Simplicity-the design must be simple, both in implementation and interface. It is more important for the interface to be simple than the implementation.

  • Correctness-the design must be correct in all observable aspects. Incorrectness is simply not allowed.

  • Consistency-the design must not be inconsistent. A design is allowed to be slightly less simple and less complete to avoid inconsistency. Consistency is as important as correctness.

  • Completeness-the design must cover as many important situations as is practical. All reasonably expected cases must be covered. Simplicity is not allowed to overly reduce completeness.

I believe most people would agree that these are good characteristics. I will call the use of this philosophy of design the ``MIT approach.'' Common Lisp (with CLOS) and Scheme represent the MIT approach to design and implementation.

The above excerpt was taken from the article "The Rise of Worser-is-Better" by Richard Gabriel, see this source.