Kitchen sink

From XionKB
Jump to navigationJump to search

The kitchen sink is a metaphor referring to the property of software to exhibit an unbounded scope or feature creep. It most commonly afflicts projects whose maintainers aim to be "jacks of all trades", such as many popular programming languages.

Etymological evidence

The concept has probably existed for decades, even as long as programming has been a thing as the idiom "everything but the kitchen sink", but we can definitively date it to at least 2011 via this Hacker News post:

Scala seems to be the academic kitchen sink of programming languages.

There are other instances confirming this as a concept in the world of software.[1][2] It is also a well-known concept in the world of "conlangs", as discussed on Reddit and on the FrathWiki.

Issues

In the context of computing and software architecture, the kitchen sink is an extreme end state of poor architecture. Ordinarily, programmers attempt to avoid this by practising such things as modular programming, but in effect this does not avoid the problem of scope creep so much as it compartmentalises it, making the project at hand into a bureaucratic object, and leading to massive inefficiencies.

See also

References

  1. Scala is a kitchen sink language […]. Hacker News. December 31, 2018. Retrieved on February 17, 2023. Archive.
  2. What is a "kitchen sink" language?. Quora. Unknown date, approx. 2 years prior to retrieval. Retrieved on February 17, 2023. Archive.

Template:Mission/software architecture