In 1987, Ward and Kent were consulting with Tektronix's SemiconductorTestSystemsGroup
that was having troubles finishing a design. They decided to try out the pattern stuff they'd been studying. Like Alexander who said the occupiers of a building should design it, Ward and Kent let representatives of the users (a trainer and a field engineer) finish the design.
Ward came up with a five pattern "language" that helped the novice designers take advantage of Smalltalk's strengths and avoid its weaknesses:
Ward and Kent were amazed at the (admittedly spartan) elegance of the interface their users designed. They reported the results of this experiment at OOPSLA 87 in Orlando . They wrote up a panel position, and presented at NormKerth
's workshop on Where do objects come from?
They talked patterns until they were blue in the face, and got a lot of agreement, but without more concrete patterns nobody was signing up.
was busy writing and reflecting about object-oriented design in ET++ as part of his PhD thesis. Erich had realized that recurring design structures or patterns were important. The question really was how do you capture and communicate them.
gave a talk at TOOLS 90 at which ErichGamma
was present; Erich liked the talk. Bruce gave a paper at EcoopOopsla90 (Ottawa) and ran a BOF called Toward an Architecture Handbook
where he, ErichGamma
, and others got into discussions about patterns. That was the first time that Richard and Erich met, and they realized they shared common ideas about the key ideas behind writing reusable OO software.
Just prior to ECOOP'91 ErichGamma
, sitting on a rooftop in Zurich on a sweltering summer's day, put together the very humble beginnings of the catalog of patterns that would eventually become DesignPatterns
. There they identified many patterns including such familiar and unfamiliar patterns as
Many of these patterns made it into DesignPatterns
; many others remain rough and unpublished to this day.
Things really got rolling at the OOPSLA workshop that Bruce ran in 1991. Coincidentally, ErichGamma
, and JohnVlissides
were all there; they would later become the Gang of Four
that authored the DesignPatterns
book. Most of the Hillsiders-to-be were there: WardAndKent
, and NormKerth
; other pattern notables like DougLea
were there too. (See ArchitectureHandbookWorkshop
for the full roster.) Bruce repeated the workshop in 1992, which is where the GangOfFour
properly got together; FrankBuschmann
's first publication on patterns was presented there as well.
had been cataloguing language-specific C++ patterns he called idioms, which are one of the KindsOfPatterns
. Early manuscripts of this book (early 1989) were used to teach objects and C++ inside AT&T. Addison-Wesley published the book in September 1991. PeterCoad
had been exploring patterns in parallel as well; he mentioned them in a 1991 issue of his newsletter, and published an article in CACM in 1992.
In May of 1993, some folks got together for the ThornwoodWorkshop
at IBM, where they taught the IBMers how to use objects. Reflective thinking was a big part of this workshop, both for the standard curriculum, and for the extracurricular patterns discussions that took place after hours. DesmondDeSouza
were the facilitators.
In August of 1993, KentBeck
sponsored a mountain retreat in Colorado where a group of us converged on foundations for software patterns. WardCunningham
struggled with Alexander's ideas and our own experiences to forge a marriage of objects and patterns. We agreed that we were ready to build on ErichGamma
's foundation work studying object-oriented patterns, to use patterns in a generative way in the sense that ChristopherAlexander
uses patterns for urban planning and building architecture. We then used the term generative
to mean creational
to distinguish them from Gamma patterns
that captured observations.
Bruce again held his workshop at OOPSLA '93, this time with patterns in the workshop title and prominently on the agenda.
met again in early April 1994 to plan
the first PLoP conference. We wanted something really wacky and unusual, but most of us felt (and were willing to take) the risk that goes with new things. That was RichardGabriel
's first time with us. He exhorted us all to go into PLoP with confidence and act as though we knew what we were doing.
On August 4, about 80 people came together at the Allerton Park estate near Monticello, Illinois, to do just that. Things went well, with even the weather cooperating. WardCunningham
were program and conference chair, respectively. Kent, who had just welcomed a new addition to his family, couldn't make it, reminiscent of OOPSLA in New Orleans several years earlier. The PLoP proceedings came out in May, 1995, as Pattern Languages of Program Design.
In the mean time, the GangOfFour
had wrapped up their work and sent it to the publisher. The first major compendium of patterns between two covers, Design Patterns: Elements of Reusable Object-Oriented Software
 made it out in time for OOPSLA '94. It sold 750 copies at the conference - more than seven times the highest number of any technical book Addison-Wesley had ever sold at a conference. The book is still doing very well. In fact, JournalOfObjectOrientedProgramming
named it (in their September 1995 issue) both the best OO book of 1995, and the best OO book of all time.
In 1998, the GangOfFour
were awarded DrDobbsJournal
1998 Excellence in Programming Award.
March 1998 - Inaugural ChiliPLoP conference held in at the Wickenburg Inn in Wickenburg, Arizona. Hosted by AG Communication Systems in Phoenix, Arizona. ChiliPLoP is a conference for learning how to write patterns and pattern languages, and is host to Hot Topics, which are sort of concentrated Birds of a Feather sessions.
March 1999 - Second annual ChiliPLoP conference.
See the dictionary section of George Polya's book, HowToSolveIt ISBN 0691023565
for a bit more historical perspective. -- JasonRiedy
Also Harvard Business School (Feb 2003) has an article tracing one form of patterns to 1600's speculative real estate market, predating the formal double-entry-bookkeeping...
March 2000 - Look back at History of Patterns
- instructs class to revisit the concept of Patterns.