wiki ::


People's attempts to get around language restrictions that eventually turned into a plague.

from Christopher Alexander, the father of the original design pattern (in architecture, as in buildings).

I don't know whether these features of pattern language have yet been translated into your discipline. Take the moral component, for example. In the architectural pattern language there is, at root, behind the whole thing, a constant preoccupation with the question, Under what circumstances is the environment good? (...) I do not know whether that sort of moral component exists in computer science, or in software engineering, or in the way in which you do things. (...) That is what we were after. I don't know whether you, ladies and gentlemen, the members of the software community, are also after that. I have no idea. I haven't heard a whole lot about that. So, I have no idea whether the search for something that helps human life is a formal part of what you are searching for. Or are you primarily searching for—what should I call it—good technical performance? This seems to me a very, very vital issue.

(Big surprise!) There are design patterns in "FP" languages (e.g. Haskell) as well, but "FP" people don't boast about them nearly as much as OOP people.

see-also: Design Patterns in Dynamic Languages by Peter Norvig