In August 1981 Byte Magazine published the classic article, Design Principles Behind Smalltalk. The article is well worth a read, I list the basic tenets here:
Personal Mastery:
— If a system is to serve the creative spirit, it must be entirely comprehensible to a single individual.
Good Design:
— A system should be built with a minimum set of unchangeable parts; those parts should be as general as possible; and all parts of the system should be held in a uniform framework.
Purpose of Language:
— To provide a framework for communication.
Scope
— The design of a language for using computers must deal with internal models, external media, and the interaction between these in both the human and the computer.
Leverage:
— When a system is well factored, great leverage is available to users and implementers alike.