Since 1995, Dr. Dobb's Journal has presented its Excellence in Programming Award to individuals who, in the spirit of innovation and cooperation, have made significant contributions to the advancement of software development.
The recipients of this year's award, Adele Goldberg and Dan Ingalls, are pioneers in the area of object-oriented programming in general, and the Smalltalk language and development environment in particular. As researchers at Xerox's Palo Alto Research Center (PARC), Goldberg and Ingalls each recognized in their own way the promise of objects, and they were in a unique position to put those theories into practice in an architecture based on objects at every level.
Although we take objects for granted today, these two researchers helped to bring object-oriented programming into the real world for the first time almost 30 years ago, from the highest level of users and their information modeling needs to the lowest levels of syntax, compilation, and efficient message passing.
Looking back on the original work at Xerox, Goldberg later said it tackled one of the most difficult and problem-prone steps in software development identifying terms and relationships as understood by human participants of a particular situation with those understood by a computer.
To that end, Goldberg believed that:
- Interactive, incremental software-development environments could produce a qualitative improvement in software-development productivity.
- Software could be designed in autonomous reusable units, each corresponding to identifiable entities (conceptual as well as physical) in the problem domain that communicate through well-defined interfaces.
- The model, or framework, for how these units work together represents both a process and vocabulary for talking about the problem domain.
- We should think about writing software in the context of building systems, rather than in the context of black box applications.
As early as 1977, Goldberg, along with Alan Kay, presented the goals for the Smalltalk research efforts in a paper entitled "Personal Dynamic Media" (IEEE Computer, March 1977). She went on to author and coauthor many of the definitive books on Smalltalk-80 programming including, with David Robson, the seminal Smalltalk-80: The Language and Its Implementation (Addison-Wesley, 1989, ISBN 0201136880), as well as numerous papers on object technology. Goldberg edited The History of Personal Workstations (ACM/Addison-Wesley, 1988; ISBN 0201112590); coedited with Margaret Burnett and Ted Lewis Visual Object-Oriented Programming (Prentice Hall, 1995; ISBN 0131723979); and coauthored with Kenneth Rubin Succeeding with Objects: Decision Frameworks for Project Management (Addison-Wesley, 1995; ISBN 0201628783).
Goldberg received her Ph.D. in Information Science from the University of Chicago for work carried out jointly at Stanford University. She also holds an honorary doctorate from the Open University (UK) in recognition of contributions to computer science education. After more than a decade as a researcher and laboratory manager at Xerox PARC, Goldberg became the founding CEO of ParcPlace Systems, the PARC spin-off that developed commercially available object-oriented application-development environments. Goldberg currently is founder of Neometron, a consulting company that focuses on dynamic knowledge management and support for project-based online communities.
From 1984 to 1986, Goldberg was president of the ACM, recipient of the 1987 ACM Systems Software Award along with Dan Ingalls and Alan Kay, and is an ACM Fellow. She received PC Magazine's Lifetime Achievement Award in 1990.
Like Goldberg, Dan Ingalls was an original member of the PARC team that developed Smalltalk. He has been the principal architect of numerous Smalltalk virtual machines and kernel systems. The first of these, Smalltalk-72, supported the work reported in "Personal Dynamic Media." Smalltalk-76, described in ACM's 1978 Principles of Programming Languages (POPL) proceedings (and available at http://users.ipa.net/~dwighth/smalltalk/St76/Smalltalk76ProgrammingSystem.html), was the first modern Smalltalk implementation with message syntax, compact compiled code, inheritance and efficient message execution, and its architecture endures in Smalltalk-80, the major documented release of Smalltalk work at Xerox. Most recently he designed the kernel of the Squeak open Smalltalk system, a practical Smalltalk written in itself. (For more information about Squeak, see ftp://st.cs.uiuc.edu/Smalltalk/Squeak/docs/OOPSLA.Squeak.html.) Ingalls also invented the BitBlt graphics primitive and pop-up menus, and was the principal designer of the Fabrik visual-programming environment while at Apple Computer.
Ingalls received his Bachelor's degree in physics from Harvard University, and Masters in electrical engineering from Stanford University. He is a recipient of the ACM Grace Hopper Award and the ACM Software Systems Award. Ingalls currently works with Alan Kay and other seasoned Smalltalkers at Viewpoints Research Inc., where he is working to complete an architecture for modular Squeak content that is sharable over the Internet. He supports an active Squeak community (http://www.squeak.org/) through his participation in e-mail discussions, attention to periodic releases, and other support at all levels. He also runs Weather Dimensions (http://www.WeatherDimensions.com/), a company that sells a weather station he designed.
Although Goldberg and Ingalls worked at very different levels, the breadth of their collaborative territory is what shaped the final result. Ingalls says of his technical achievements, "I loved the challenge in efficiency and generality that it took to make Smalltalk real, but what gives me the most satisfaction looking back is that we built a serious system that is actually fun to use. We had a passion, inspired by Alan, to liberate the beauty of computer science from the barnacled past of ad hoc engineering." Goldberg adds, "During the PARC days, the opportunity to work with children and other nontechnical users kept us focused on how to use rigorously what people already know informally about objects. But the most thrilling experience for me was to work with ParcPlace customers in both large and small companies, and see how our technology enabled them to finally break the barrier between business understanding and systems implementation."
At Adele Goldberg's request and in her name, Dr. Dobb's Journal is pleased to make a grant of $1000 to the Girl's Middle School (http://www.girlsms.org/), a San Francisco Bay Area all-girls middle school that focuses on math and technology. At Dan Ingalls request and in his name, we are happy to make a $1000 grant to the The Sierra Nevada Children's Museum in Truckee, California. Please join us in honoring Adele Goldberg and Dan Ingalls who once again remind us that a mix of technology, innovation, vision, and cooperative spirit is fundamental to advancement in software development.
Past recipients of the,i> Dr. Dobb's Excellence in Programming Award include:
- Alexander Stepanov, developer of the C++ Standard Template Library.
- Linus Torvalds, for launching Linux.
- Larry Wall, author of Perl.
- James Gosling, chief architect of Java.
- Ronald Rivest, educator, author, and cryptographer.
- Gary Kildall, for his work in operating systems, programming languages, and user interfaces.
- Erich Gamma, Richard Helm, John Vlissides, and Ralph Johnson, authors of Design Patterns: Elements of Reusable Object-Oriented Software.
- Guido van Rossum, Python creator.
- Donald Becker, for his contributions to Linux networking and the Beowulf Project.
- Jon Bentley, computer-science author and researcher.
- Anders Hejlsberg, developer of Turbo Pascal and architect of C# and the .NET Framework.