pattern languages

Christopher Alexander, an architect, worked with a group of people to develop a set of patterns (e.g. be near a body of water) which hang together capturing what makes buildings/towns work well as living spaces. They called this set of patterns a pattern language, and since then people have attempted to develop pattern languages for other arenas of life. See A Pattern Language, The Timeless Way of Building, and the later Nature of Order, all by Christopher Alexander.

Ward Cunningham had the thought that a pattern language of programming would be a useful, and set up the first wiki - the PortlandPatternRepository as a space for programmers to so Patterns (if not pattern languages) have since become central to how many if not most object-oriented programmers think about programming.

Since then, people have developed pattern languages for countless other fields, often using wikis to host them. Here are just a few:

 

Also see

http://www.cmcrossroads.com/bradapp/docs/patterns-intro.htm

http://c2.com/cgi/wiki?PatternLanguage

http://en.wikipedia.org/wiki/Pattern_language