Fundamental theorem of software engineering
Appearance
![]() | The topic of this article may not meet Wikipedia's general notability guideline. (November 2011) |
The fundamental theorem of software engineering (FTSE) is a term originated by Andrew Koenig to describe a remark by Butler Lampson[1] attributed to the late David J. Wheeler FRS[2]:
"We can solve any problem by introducing an extra level of indirection."
The term is facetious, in the sense that it doesn't describe an actual theorem that can be proved, and the problems it solves are not fundamental. Rather, it's a principle for getting around the restrictions of a given programming environment. Also, the theorem is often expanded by the humorous clause "…except for the problem of too many levels of indirection", referring to the fact that too many abstractions may create intrinsic complexity issues of their own.
See also
References
- ^ Abrahams and Gurtovoy, C++ Template Metaprogramming, 2005, Addison Wesley, p13.
- ^ http://research.microsoft.com/Lampson/Slides/TuringLecture.doc