Simplicity is not enough

These words were written circa 1975, but they are still relevant today:

For a given level of function,
however, that system is best in which one can specify things with the
most simplicity and straightforwardness. Simplicity is not
enough. […] The expression of the things one wants to do often
requires involuted and unexpected combinations of the basic facilities.
It is not enough to learn the elements and rules of combination; one
must also learn the idiomatic usage; a whole lore of how the elements
are combined in practice. Simplicity and straightforwardness proceed
from conceptual integrity. Every part must reflect the same
philosophies and the same balancing of desiderata. Every part must even
use the same techniques in syntax and analogous notions in semantics.
Ease of use, then, dictates unity of design, conceptual integrity.

– Frederick P. Brooks, The Mythical Man-Month: Essays on Software Engineering

Unfortunately, we tend to forget them and we create frameworks that, even if they are very powerful, are neither simple nor straightforward,as many users can attest.

(Originally posted on May, 6th, 2004).

0 Responses to “Simplicity is not enough”


  1. No Comments

Leave a Reply