InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Interview: Erich Gamma Discusses Jazz, Eclipse, JUnit and Design Patterns

Posted by Ryan Slobojan on Sep 22, 2008

Sections
Process & Practices,
Architecture & Design,
Development
Topics
Collaboration ,
Artifacts & Tools ,
Object Oriented Design ,
Java ,
Unit Testing ,
Architecture ,
IDE ,
Programming
Tags
QCon London 2008 ,
JUnit ,
Jazz ,
Releases ,
Eclipse ,
QCon ,
Dependency Injection ,
Community ,
Design Patterns

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.

Watch Erich Gamma Discusses Jazz, Eclipse, JUnit and Design Patterns (23 minutes).

From the interview:

Jazz is a new technology I have built, we have started on that three years ago, it's really based on lots of experience we gained in Eclipse. In Eclipse we learned about Agile practices, distributed development, we learnt a lot about how good is to have powerful tools for coding for development. But we also learned that there are areas where there is friction and, particularly when you want to work in a team, there are places where I don't think you will get the same level of support as you get from the IDE.

And that's why we started to really look into how could the new generation of team tools look like, they are built on a common platform, the platform of course again it's the same spirit as Eclipse, should become an extensible platform, and multiple tools can build on top of it and then also can be integrated. Seamless integration -- the same as you have on the desktop, we'd like to have seamless integration for team tools. So that's how we started, and then we noticed quickly that if you want to get this tight integration level, this seamless integration, then we found we should really build... initial focus on the bug-tracking system to track your work, we need a build system to track our continuous build, and we also need to build a new source code control system which enables us to do this kind of component-based development, and highly collaborative work in code, make it easy to flow changes and make this kind of parallel development very easy.

That's how we started, and that's the Jazz technology platform. On top of this platform what you will see coming out in the future is different products that will leverage this technology and package it, so that you will have this full family of products which can cover the application lifecycle. But our initial focus always was more coding, building, work tracking, bug tracking, source control, but you will see more stuff grow over time.

Related Sponsor

In today’s hyper-competitive world, later may be too late to adopt Agile development and this Roadmap for Success will help you get started. Download "Agile Development: A Manager's Roadmap for Success" now!

No comments

Watch Thread Reply

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.