Design & Language

Design patterns are a collection of complex words or phrases whereas pattern language is grammar and idiom that enable self-expression and communication. Design patterns can be studied alone. Pattern language requires a community. There are also design language and programming language both of which also require community.

I learned about A Pattern Language at the College of Architecture and Planning, University of Colorado about a decade before I learned about Design Patterns in my professional life as a young object-oriented programmer. Design languages were drawing skills I learned in school. Language design has influenced my entire programming career. The differences between pattern languages and design patterns have only become clear in the past few years. Only in the past few months have I found this distinction to be something important that warrants further study.

A Pattern Language wikipedia

Design Patterns wikipedia

Takashi Iba's Pattern Language 3.0 pdf

Future Language for Collaborative Design pdf

On my way out of university, I asked my mentor how to build mastery in common lisp on my own. He asked "why bother? A programming language, like human language, requires a community. The way you learn a language is by speaking it with other people. If you're not in a lisp community, learning it will be difficult and you won't have anyone to talk to anyway."