ECOOP 2009 AITO Dahl-Nygaard Prize Winner
ECOOP 2009 is pleased to announce the winner of the fifth AITO Dahl-Nygaard prize. Information about these prizes, including the process for making nominations for future years, is available from the AITO website.
The AITO Dahl-Nygaard Prizes are named for Ole-Johan Dahl and Kristen Nygaard, two pioneers in the area of programming and simulation. Their foundational work on object-oriented programming, made concrete in the Simula language, is one of the most important inventions in software engineering. Their key ideas were expressed already around 1965, but took over 20 years to be absorbed and appreciated by the broader software community. After that, object-orientation has profoundly transformed the landscape of software design and development techniques. It was a great loss to our community that both Ole-Johan Dahl and Kristen Nygaard passed away in 2002. In remembrance of their scholarship and enthusiastic encouragement of young researchers, in 2004 AITO established a prize to be awarded annually to a senior researcher with outstanding career contributions and a younger researcher who has demonstrated great potential for following in the footsteps of these two pioneers.
David Ungar, IBM Research
Generational garbage collection, prototype-based languages, dynamic optimization, cartoon animation for legibility, all tremendous fun, none done alone. What were they? How did they happen? Why did they matter? Looking back, what is worth learning about these experiences beyond the technical innovations? Combining hindsight with others' wisdom, it is possible to abstract some thoughts that may be useful in other situations: when (not) to listen to wise council; whom to follow into the cafeteria at lunch time; the benefit of striking a balance between one's own vision and those of ones collaborators; which chance events might alter one's course; and how one's best work can sometimes arise from things that, on the surface, have nothing to do with work at all. At a deeper level still, the notion that values, principles, and practices arise in that particular order serves to unify the work and the experiences, and perhaps points the way forward as we all strive to invent the future.
David Ungar has long been fascinated by programming paradigms that can change the way people think, novel implementation techniques that make new languages feasible, and user interfaces that vanish. With Dr. Randall B. Smith at PARC, he designed a simple yet powerful prototype-based object-oriented programming language called Self. As an Assistant Professor at Stanford, David and his students developed new compilation techniques and heap structures for pure object-oriented programming languages. Rejoining Dr. Smith at Sun Microsystems Laboratories, David co-led a project to create a complete programming environment for Self. The implementation techniques developed for Self have been harnessed for Sun's HotSpot Java's Virtual Machine. David's Klein project explored metacircularity in pursuit of simpler, more malleable high-performance virtual machines and better development environments for them.
David's doctoral research was performed at the University of California at Berkeley with David Patterson, and concerned the development of a RISC for Smalltalk. The dissertation was published by the MIT press as an ACM Distinguished Dissertation. It introduced a fast automatic storage reclamation algorithm, Generation Scavenging, which has since influenced many production systems, and isolated those architectural features that significantly improved performance.
David Ungar is an ACM Distinguished Engineer, and three of his papers have been recognized as having been among the most influential in their respective fields: one on the Self language, one on the application of cartoon animation techniques to user interfaces, and one on generational garbage collection.
Since 2007, David has been privileged to be part of IBM Research, where he has added a facility for collaboration to a performance-analysis system (Tuning Fork), and where, in collaboration with Sam Adams, he investigates new programming paradigms for manycore architectures.
Akinori Yonezawa (senior prize) and Wolfgang De Meuter (junior prize).
Luca Cardelli (senior prize) and Jonathan Aldrich (junior prize).
Erich Gamma, Richard Helm, Ralph Johnson, and (posthumously) John Vlissides.
Bertrand Meyer (senior prize) and Gail Murphy (junior prize).