Jim Coplien
Encyclopedia
James O. "Jim" Coplien is a writer, lecturer, and researcher in the field of Computer Science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

. He has made key contributions in the areas of software design, organizational development, software debugging, and in empirical research. He held the 2003-2004 Vloeberghs Leerstoel at Vrije Universiteit Brussel
Vrije Universiteit Brussel
The Vrije Universiteit Brussel is a Flemish university located in Brussels, Belgium. It has two campuses referred to as Etterbeek and Jette.The university's name is sometimes abbreviated by "VUB" or translated to "Free University of Brussels"...

 and has been a Visiting Professor at University of Manchester
University of Manchester
The University of Manchester is a public research university located in Manchester, United Kingdom. It is a "red brick" university and a member of the Russell Group of research-intensive British universities and the N8 Group...

.

Career

His ongoing work with Liping Zhao includes a monograph entitled "A Generalized Formal Design Theory" which explores the foundations of symmetry and symmetry-breaking in design in general, and in patterns in particular.

Cope was a founding Member of Hillside Group with Kent Beck
Kent Beck
Kent Beck is an American software engineer and the creator of the Extreme Programming and Test Driven Development software development methodologies. Beck was one of the 17 original signatories of the Agile Manifesto in 2001....

, Grady Booch
Grady Booch
Grady Booch is an American software engineer. Booch is best known for developing the Unified Modeling Language with Ivar Jacobson and James Rumbaugh. Grady is recognized internationally for his innovative work in software architecture, software engineering, and collaborative development environments...

, Ward Cunningham
Ward Cunningham
Howard G. "Ward" Cunningham is an American computer programmer who developed the first wiki. A pioneer in both design patterns and Extreme Programming, he started programming the software WikiWikiWeb in 1994 and installed it on the website of his software consultancy, Cunningham & Cunningham , on...

, Ralph Johnson, Ken Auer and Hal Hildebrand. He has started up several of the conferences in the Pattern Languages of Programs (PLoP) conference series and is a longstanding pattern author and PLoP shepherd. His pattern form, the "Coplien Form," is a simplified way to structure a pattern in preparation for writing a more literate version in Alexandrian form. Together with Trygve Reenskaug, he was a principle in the design of the DCI
DCI
-Technology:* D-chiro-inositol, an isomer of inositol* Data, Context, and Interaction, an architectural pattern in computer software development* Direct Count & Intersect, an algorithm for discovering frequent sets in large databases...

 (Data, Context, and Interaction
Data, Context, and Interaction
Data, context and interaction is a paradigm used in computer software to program systems of communicating objects. Its goals are:* To improve the readability of object-oriented code by giving system behavior first-class status;...

) paradigm.

He was also Program Chair of Object-Oriented Programming, Systems, Languages & Applications conference (OOPSLA
OOPSLA
OOPSLA is an annual ACM research conference. OOPSLA mainly takes place in the United States, while the sister conference of OOPSLA, ECOOP, is typically held in Europe...

) in 1996, and has been a co-founder and sometime chair of many software pattern conferences.

Research

His early work on C++ idioms was one of the three primary sources of the popular Design Patterns. He also named the curiously recurring template pattern
Curiously Recurring Template Pattern
The curiously recurring template pattern is a C++ idiom in which a class X derives from a class template instantiation using X itself as template argument...

 C++ idiom. His work on Organizational patterns
Organizational patterns
Organizational patterns are recurring structures of relationship, usually in a professional organization, that help the organization achieve its goals....

 was an inspiration for both Extreme Programming
Extreme Programming
Extreme programming is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements...

and for Scrum
Scrum (development)
Scrum is an iterative, incremental framework for project management often seen in agile software development, a type of software engineering....

.. In Organizational Patterns of Agile Software Development book he co-presented an alternative version of Conway's law
Conway's Law
Conway's Law is an adage named after computer programmer Melvin Conway, who introduced the idea in 1968:...organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations....

.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK