InfoQ

Interview

Erich Gamma Discusses Jazz, Eclipse, JUnit and Design Patterns

Interview with Erich Gamma by Ryan Slobojan on Sep 16, 2008 06:00 PM

Community
Architecture,
Java
Topics
Collaboration ,
Artifacts & Tools ,
IDE ,
Object Oriented Design ,
Programming ,
Unit Testing
Tags
QCon ,
Design Patterns ,
Jazz ,
Releases ,
JUnit ,
Eclipse ,
QCon London 2008 ,
Dependency Injection ,
Community
Summary
In this interview from QCon London 2008, Erich Gamma discusses the Jazz project, why Eclipse has been successful, the strict Eclipse release schedule, JUnit, Design Patterns, how to identify a design pattern, design patterns and the 'Don't Repeat Yourself' principle, the design pattern community, and whether dependency injection is a design pattern.

Bio
Erich Gamma is a Distinguished Engineer at IBM Rational Software's Zurich lab. He is one of the leaders of the Jazz project. He was the original lead of the Eclipse Java development environment and is on the Project Management Committee for the Eclipse project. Erich is also a member of the Gang of Four, which is known for its classical book, Design Patterns.
Hi my name is Ryan Slobojan I am here with Erich Gamma. Erich, can you tell us a little bit about the Jazz project?
And when do you expect the initial release of the Jazz platform to be and what capabilities are you planning to have in that release?
One of the things that characterizes the Eclipse project versus other software projects is that it tends to stick to a concrete deadline as opposed to having releases in a haphazard fashion. Why is that and how has that driven Eclipse development?
That makes sense. Staying on the Eclipse track, how has Eclipse developed the ecosystem which exists around it? There seems to be a very large ecosystem of plugins and projects and implementers such as Aptana or Adobe who have built things on top of the Eclipse IDE. Why do you think that is?
If I recall correctly, yourself and Kent Beck created JUnit?
One of the other things that you have been involved with was a book about design patterns and identifying several design patterns. How do you identify a design pattern and how can you tell a pattern from an anti-pattern?
One of the comments that has been made recently in the community is that some believe that the application of a design pattern could be considered a code smell or an architecture smell, when you look at something like the 'Don't Repeat Yourself' principle. When you look at the 'Don't Repeat Yourself' principle if you are applying the same pattern several times in the code, in a sense you are repeating yourself and creating duplicate code. What are your thoughts on that?
You are not involved with patterns as such these days. Are you concerned that people aren't carefully handling and that the poseur books have come out and have taken over?
Is there ever going to be a sequel to the Design Patterns book? The Gang of Four book?
Is dependency injection a pattern or not?
show all  show all
  • This article is part of a featured topic series on Collaboration

No comments

Reply

Exclusive Content

The Maxine VM

Bernd Mathiske discusses Maxine VM, Java compatibility, swapping major VM components, research areas, Object handling, code examples, optimizing compiler, snippets, bytecode generation, JNI and JIT.

Joe Armstrong About Erlang

Joe Armstrong speaks on various aspects of the Erlang language, presenting its roots, how it compares with other languages and why it has become popular these days.

The Limits of Code Optimization: a new Singleton Pattern Implementation

The java double-check singleton pattern is not thread safe and can’t be fixed. In this article, Dr. Alexey Yakubovich provides an implementation of the Singleton pattern that he claims is thread-safe.

Pressure and Performance – The CTO's Dilemma

Diana and Jim talk about patterns observed in CTOs' activity. CTOs emerge as real people caring for other people in their organization, and are put under a lot of pressure and constraints.

Biztalk Services in the Cloud

Cloud computing feels like a tomorrow technology. Simon Thurman shows how developers can use Biztalk to create an Internet Service Bus which can be deployed locally or in the cloud.

Java FX Technology Preview

InfoQ takes a look at the JavaFX preview build and talks to Sun Staff Engineer Joshua Marinacci about the upcoming version 1 release expected this autumn.

Jeff Sutherland: Reaching Hyper-Productivity with Outsourced Development Teams

Jeff Sutherland, co-creator of Scrum, and Guido Schoonheim, CTO of Xebia, present an actual case of reaching hyper-productivity with a large distributed team using XP and Scrum.

Steven "Doc" List About Open Spaces

In this interview made by InfoQ's Greg Young, Steven "Doc" List talks about Open Space conferences, a way of running meetings of groups of various sizes by facilitating self organizing the sessions.