Waterbed Theory
   HOME

TheInfoList



OR:

Waterbed theory is the observation, ascribed to
Larry Wall Larry Arnold Wall (born September 27, 1954) is an American computer programmer and author. He created the Perl programming language. Personal life Wall grew up in Los Angeles and then Bremerton, Washington, before starting higher education at S ...
, that some systems, such as human and
computer A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
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 A waterbed, water mattress, or flotation mattress is a bed or mattress filled with water. Waterbeds intended for medical therapies appear in various reports through the 19th century. The modern version, invented in San Francisco and patented in ...
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 compress is a Unix shell compression program based on the LZW compression algorithm. Compared to more modern compression utilities such as gzip and bzip2, compress performs faster and with less memory usage, at the cost of a significantly l ...
. It is impossible to push down the waterbed everywhere at once, because the volume of the water remains a constant. Waterbed theory has been cited as a significant part of the design philosophy of Raku.


See also

*
Variety (cybernetics) In cybernetics, the term variety denotes the total number of distinguishable elements of a set, most often the set of states, inputs, or outputs of a finite-state machine or transformation, or the binary logarithm of the same quantity. Variety ...


References

Programming language design Perl {{Soft-eng-stub