The ‘father’ of Pattern Languages is the architect Christopher Alexander. In the 1970’s he became concerned about the way in which the design process of living spaces had changed from one whereby those who live and use the buildings, streets, parks, etc. were primarily responsible for their design to one dominated by architects, town planners, and other professionals.
He developed the idea of a structured template where “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.” (Alexander et al., 1977).
Combined together, individual patterns produce a Pattern Language. For Alexander, this approach was a way of capturing what it was that we used to do well in urban design (some time in the distant past) and at the same time empower those who live in the spaces to influence their development.
More recently, other professions, particularly developers and programmers have adopted a patterns approach – this is a good introduction from Alexander.