Jump to content

Waterbed theory

From Wikipedia, the free encyclopedia

Waterbed theory is the observation, ascribed to Larry Wall, that some systems, such as human and computer languages, contain a minimum amount of complexity, and that attempting to "push down" the complexity of such a system in one place will invariably cause complexity to "pop up" elsewhere. This behavior is likened to a waterbed mattress which contains a certain amount of water; it is possible to push down the mattress in one place, but the displaced water will always cause the mattress to rise elsewhere, because water does not compress. It is impossible to push down the waterbed everywhere at once, because the volume of the water remains a constant. The goal is to avoid "false simplicity or false oversimplification."[1]

Examples in computing

[edit]

Waterbed theory has been cited as a significant part of the design philosophy of Raku.[2] The theory is important to Perl programming.[1][2] It was also important to the development of early Java, where, to mix metaphors, "simplicity and power are evil twin brothers."[3]

See also

[edit]

References

[edit]
  1. ^ a b Randal, Allison; Sugalski, Dan; Tötsch, Leopold (2003). Perl 6 Essentials. O'Reilly. p. 17. ISBN 9780596004996. Retrieved March 29, 2025.
  2. ^ a b "Apocalypse 5". Perl.com. 6 June 2002. Retrieved 2020-09-16.
  3. ^ Biancuzzi, Federico (2009). Masterminds of Programming: Conversations with the Creators of Major Programming Languages. O'Reilly. p. 278. Retrieved March 29, 2025.