History Of Patterns

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 [4]. 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.

Meanwhile, ErichGamma 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.

BruceAnderson 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, RichardHelm, 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 and RichardHelm, 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 [3]; many others remain rough and unpublished to this day.

Things really got rolling at the OOPSLA workshop that Bruce ran in 1991. Coincidentally, ErichGamma, RichardHelm, RalphJohnson, 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, DesmondDeSouza, and NormKerth; other pattern notables like DougLea and WolfgangPree 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.

JimCoplien 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, DougLea, KentBeck, RalphJohnson, BruceAnderson, RonCasselman?, and JohnVlissides were the facilitators.

In August of 1993, KentBeck and GradyBooch sponsored a mountain retreat in Colorado where a group of us converged on foundations for software patterns. WardCunningham, RalphJohnson, KenAuer, HalHildebrand, GradyBooch, KentBeck and JimCoplien 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.

The HillsideGroup 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 and RalphJohnson 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. [2]

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[3] 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...

 http://hbsworkingknowledge.hbs.edu/pubitem.jhtml?id=3313&sid=0&pid=0&t=bizhistory

March 2000 - Look back at History of Patterns

DaveOrme - instructs class to revisit the concept of Patterns[5].
CategoryPattern CategoryHistory

EditText of this page (last edited March 17, 2011) or FindPage with title or text search