Dr. Dobb's Journal's 1998 Excellence in Programming Awards
Dr. Dobb's Journal March 1998
By Jonathan Erickson
From left to right: Ralph Johnson, Richard Helm, Erich Gamma,
and John Vlissides. (Photography courtesy of
Addison-Wesley.)
Annually, Dr. Dobb's Journal honors individuals who
have made significant contributions to the advancement of software
development. Past recipients of Dr. Dobb's Excellence in
Programming Award include:
- Alexander Stepanov, developer of the C++ Standard Template
Library.
- Linus Torvalds, the force behind the Linux operating system.
- Larry Wall, author of the Perl language.
- James Gosling, chief architect of Java.
- Ronald Rivest, educator, author, and computer security expert.
- Gary Kildall, a computer pioneer in the areas of operating
systems, programming languages, and user interfaces.
Rather than an individual, the recipient of this year's
Excellence in Programming Award is a team of researchers widely
known as the "Gang of Four" -- Erich Gamma, Richard Helm, John
Vlissides, and Ralph Johnson. Although they did not invent design
patterns or even write the first book on the subject, the GoF's
Design Patterns: Elements of Reusable Object-Oriented
Software (Addison-Wesley, 1995) can be credited with bringing
patterns into the mainstream of software development. In addition to
enjoying widespread use within the software-development community,
patterns have become standard fare in leading object-oriented design
methodologies, notations, and environments. Commercial class
libraries provide reusable design patterns. And research efforts are
underway to build tools that generate source code from design
patterns and even introduce built-in support for design patterns
into programming languages.
Interestingly, the concept of design patterns, which express
relationships between contexts, recurring problems, and proven
solutions, have been around for years in other disciplines, most
notably architecture and urban planning. Much of the work with
software-design patterns, in fact, has its roots in Christopher
Alexander's book A Pattern Language: Towns, Buildings,
Construction (Oxford University Press, 1977).
Patterns began moving into the realm of software development in
the late 1980s, when Ward Cunningham and Kent Beck applied
Alexander's ideas to a small pattern language for Smalltalk
programmers. This project was presented at OOPSLA '87 in a paper
entitled "Using Pattern Languages for Object-Oriented Programs."
Intrigued with the idea of patterns, others (James Coplien, Desmond
DeSouza, Doug Lea, Richard Gabriel, and Grady Booch among them)
continued collecting and sharing idioms and patterns.
Still, it was at Bruce Anderson's OOPSLA '90 Birds-of-a-Feather
session "Towards an Architecture Handbook" where Richard Helm and
Erich Gamma met and discovered a common vision about reusable
object-oriented software. Gamma and Helm came together again at
ECOOP '91, where they began putting together a catalog of patterns.
The need for a definitive collection of good software
design patterns quickly became apparent, and Gamma and Helm, along
with John Vlissides and Ralph Johnson, published Design
Patterns in 1995, which has been described as a book of design
patterns that describes simple and elegant solutions to specific
problems in object-oriented software design.
Coinciding with the rush to the object paradigm, Design
Patterns quickly became a classic, selling more than 100,000
copies since publication. Although numerous books on software-design
patterns have been published since, none have matched the stature or
acceptance of the GoF's Design Patterns.
Erich Gamma started to discover design patterns while working and
reflecting on the ET++ (a portable C++ class library and application
framework for developing interactive graphical applications) while
at the University of Zürich. This eventually grew into his Ph.D.
thesis, which described a first set of patterns. After university,
Gamma moved on to the research lab of Union Bank of Switzerland,
where he applied objects and frameworks in the finance domain. From
1993 to 1995, Gamma worked at Taligent on an advanced incremental
C++ development environment. Erich is currently technical director
at Object Technology International's Software Technology Center in
Zürich, Switzerland.
Richard Helm is a member of IBM Consulting Group, IBM Global
Services, in Sydney, Australia. Before that, he was a technology
consultant with the DMR Group, a technology consulting firm
headquartered in Montreal, Canada. Helm, who holds a Ph.D. in
computer science from the University of Melbourne, was also a member
of the software technology department at IBM T.J. Watson Research.
In 1995-96, Helm and Gamma coauthored the popular "Patterns and
Software Design" column for Dr. Dobb's Sourcebook.
Although he grew up in the Congo (where his parents were
missionaries), Ralph Johnson graduated from Knox College in
Illinois, and received a Ph.D. in computer science from Cornell
University. Johnson has been at the University of Illinois for 12
years, where he is a faculty member in the Department of Computer
Science and Coordinator of Project Design Activities. He has been
involved in the development of an object-oriented operating system
(Choices), compiler (Typed Smalltalk), graphics editor framework
(HotDraw), and a music synthesis system (Kyma). Johnson was program
chair of OOPSLA '93 and conference chair of the first conference on
Pattern Languages of Programming (PLoP) in 1994.
John Vlissides is currently a researcher at IBM's T.J. Watson
Research Center in New York, where his research interests are in
object-oriented design tools and techniques, application frameworks
and builders, object-oriented visualization, and tools for
user-interface development. Before joining IBM, Vlissides was
post-doctoral scholar in the Computer Systems Laboratory at Stanford
University where he codeveloped InterViews, a widely used set of
libraries and tools for developing graphical applications. His
doctoral work was on Unidraw, one of the earliest frameworks for
building graphical editors. He also developed numerous InterViews-
and Unidraw-based applications, including the idraw drawing editor
and the ibuild user-interface builder. He has served as a consultant
to several companies both before and after joining IBM. In addition
to Design Patterns, Vlissides is coauthor of
Object-Oriented Applications Frameworks and Pattern
Languages of Program Design 2. He is also consulting editor of
Addison-Wesley's Software Patterns Series. Vlissides also writes the
"Pattern Hatching" column for The C++ Report. Vlissides has a
Ph.D. in electrical engineering from Stanford University.
The Gang of Four's contribution to software development will be
acknowledged at the Software Development '98 Conference in San
Francisco and Dr. Dobb's Journal will make available
financial grants to university programs of their choice.
Please join us in honoring Erich Gamma, Richard Helm, Ralph
Johnson, and John Vlissides. As with previous recipients of this
award, they continue to remind us that a mix of technology,
innovation, vision, and cooperative spirit continue to be
fundamental software-development principles.
DDJ
Copyright © 1999 Dr. Dobb's
Journal Comments: webmaster@www.ddj.com
|