Giving Credit where Credit Is Due

ACM recognizes excellence through its eminent awards for technical and professional achievements and contributions in computer science and information technology. It also names as Fellows and Distinguished Members those members who, in addition to professional accomplishments, have made significant contributions to ACM's mission. ACM awards recognize achievements by young computing professionals, educators, theoretical computer scientists, software systems innovators, and pioneers who have made humanitarian and cross-discipline contributions.

How to Nominate

Award nominations deadlines occur throughout the year, with a heavy concentration in the Fall. Please refer to the Nomination Process page for each award, which includes not only information about the deadline but also guidance for preparing each type of nomination. ACM's conflict-of-interest guidelines apply to all award nominations.

Steve Northover

Canada - 2011

Eclipse

citation

For the Eclipse platform and its visionary design of a universal IDE (integrated Development Environment) which provides developers with an extensible platform for application development tools, fostering an impressive world-wide open source software development community.

The Eclipse project began in 1999 and was initially conceived to address a number of perceived shortcomings in the proprietary software developments tools. Eclipse is a programming environment that provides kernel IDE (Integrated Development Environment) functionality and allows developers to seamlessly integrate their own extensions, specialization and personalization. The Eclipse team was the first to take this challenge up and bring the microkernel approach to another domain. The team members identified the conceptual kernel underlying any IDE.

Eclipse changed the way builders think about building tools: instead of building tools by using stacks of libraries and then trying to integrate them, one starts with the Eclipse platform, which provides a set of general capabilities. The tool developers then teach Eclipse about their domain (Java, UML, modeling, etc.). Eclipse defines a set of user interaction paradigms, into which you plug domain-specific variants, customizing at will their tool. This revolutionized the notion of an IDE. From the very beginning, Eclipse was designed as an open and extensible platform for application development tools with a Java IDE built on top. The innovative Eclipse platform provides a nucleus of building blocks and APIs including extension points though which new functionality can be seamlessly integrated in a well-architected fashion, providing phenomenally high component reuse rates. What makes Eclipse so attractive is first that it is an extensible platform for integrating components, which comes replete with a large number of commercial quality components out of the box. Second, one of the interesting things about Eclipse was that it used the native controls rather that the set of controls that came with Java. This gave Eclipse high performance, deep operating system integration and a polished look, making it indistinguishable from other applications on the desktop.

From the start, the founding team designed it as an open platform and advocated for the open sourcing of Eclipse in 2001. Since then, the Eclipse project fostered an impressively open source community large community well beyond the original platform. It has been an immense success that has completely transformed the market for software development tools. By most estimates, more than two of every three developers use Eclipse. Eclipse proved to be the fundamental breakthrough that enabled wide-ranging research and commercial applications. None of these advances would have been possible without the sound and novel design and the technical contributions made by the nominees, namely Erich Gamma, John Wiegand, Dave Thomson, Greg Adams, Philippe Mulet, Julian Jones, John Duimovich, Kevin Haaland and Steve Northover.