Researcher

Ralph E. Johnson

Also known as Ralph Johnson

Ralph E. Johnson is a computer scientist at the University of Illinois whose work on software patterns, object-oriented frameworks and refactoring made him one of the four authors of Design Patterns. With a Cornell PhD, he worked with objects from 1985, and in 1990 he and William Opdyke published the first article to use the term “refactoring”. Design Patterns: Elements of Reusable Object-Oriented Software appeared in 1994 and brought its authors the 2006 Dahl–Nygaard Prize and the 2010 ACM SIGSOFT Outstanding Research Award. By 2010, he led parallel programming patterns work at Illinois, where he is a Research Associate Professor in the Department of Computer Science.

Born
1955
Badges

Years link to their sources.

Timeline

  1. 1985

    Faculty member at Illinois

    He begins working with objects in 1985. A Cornell PhD, he is on the faculty of the Department of Computer Science at the University of Illinois.

  2. 1990s

    Refactoring and its first tool

    In September 1990, he and William Opdyke publish the first article to use the term “refactoring”, a word he helps coin through his work on Opdyke's dissertation. The Smalltalk Refactoring Browser, built by the group he leads, becomes the first refactoring tool.

  3. 1992–1994

    Patterns at OOPSLA and PLoP

    In 1992, he writes the first OOPSLA paper on patterns. He is program chair of OOPSLA'93, and in 1994 he helps organize PLoP'94, the first conference on software patterns.

  4. 1994

    Publishing Design Patterns

    He and Erich Gamma, Richard Helm and John Vlissides publish Design Patterns: Elements of Reusable Object-Oriented Software in October 1994, and the book is made available to the public at the 1994 OOPSLA meeting. It describes 23 classic software design patterns, with examples in C++ and Smalltalk.

  5. 2006

    The Dahl–Nygaard Prize

    In 2006, he shares the Dahl–Nygaard Prize with Erich Gamma, Richard Helm and, posthumously, John Vlissides, for contributions to the state of the art embodied in Design Patterns.

  6. 2010

    A SIGSOFT research award

    He and the other Design Patterns authors receive the 2010 ACM SIGSOFT Outstanding Research Award for their numerous contributions, including Design Patterns. By 2010, over 500,000 copies of the book have been sold in English and in 13 other languages.

  7. By 2010

    Parallel programming patterns

    By 2010, he leads the parallel programming patterns work at Illinois and co-organizes the ParaPLoP workshops for the Universal Parallel Computing Research Center. In 2010, he presents A Pattern Language for Parallel Programming at QCon London, a set of structural, computational, algorithm strategy, implementation strategy and concurrent execution patterns.

  8. As of October 2026

    Research associate professor

    He is a Research Associate Professor in the Department of Computer Science at the University of Illinois Urbana-Champaign. An early pioneer in the Smalltalk community, he remains a supporter of the language and initiated the OOPSLA Design Fest workshop.

Career

  1. Since 1985University of Illinois Urbana-ChampaignResearch Associate Professor

Education

  1. Cornell UniversityPhD

Sources and credits

Photo: We have no published photo of Ralph E. Johnson yet. Send us a free-licensed photo.

  1. The Gang of Four hillside.net. Checked 22 October 2026.
  2. Ralph Johnson - The Refactory refactory.com. Checked 22 October 2026.
  3. Code refactoring - Wikipedia en.wikipedia.org. Checked 22 October 2026.
  4. Johnson Wins 2010 ACM SIGSOFT Outstanding Research Award | The Grainger College of Engineering | Illinois grainger.illinois.edu. Checked 22 October 2026.
  5. Ralph Johnson (computer scientist) - Wikipedia en.wikipedia.org. Checked 22 October 2026.
  6. Design Patterns - Wikipedia en.wikipedia.org. Checked 22 October 2026.
  7. Dahl–Nygaard Prize - Wikipedia en.wikipedia.org. Checked 22 October 2026.
  8. SIGSOFT - ACM Special Interest Group on Software Engineering sigsoft.org. Checked 22 October 2026.
  9. A Pattern Language for Parallel Programming - InfoQ infoq.com. Checked 22 October 2026.