Dr. Dobb's annual Excellence in Programming Award is presented to individuals who, in the spirit of innovation and cooperation, have made significant contributions to the advancement of software development.
The recipient of this year's Dr. Dobb's Excellence in Programming Award is Jon Bentley, one of the most respected and prolific researchers in the field of computer science. While we'd like to think he is best known as a contributing editor to Dr. Dobb's Journal, Bentley is a renowned Distinguished Member of the Technical Staff in the Computing Sciences Research Center at Bell Labs, the research and development arm of Lucent Technologies, and author of the book Programming Pearls, Second Edition (Addison-Wesley, 2000).
What's unique about Bentley's contribution to the art and craft of computer programming is how he has struck a balance between academic research on one hand, and real-world programming on the other. Throw in all of his writing -- Bentley has written several books, dozens of magazine articles, and scores of research papers -- and what you're left with is a pretty impressive résumé.
Bentley's baptism into the world of professional programming began at Long Beach (Calif.) City College where he built data-processing systems using RPG, Cobol, and Fortran. Bentley went on to earn a bachelor of science degree at Stanford University in 1974, writing his undergraduate paper on "Multidimensional Binary Search Trees" under the direction of Donald E. Knuth. At the same time, Bentley worked under Peter Deutsch as a systems programmer at Xerox PARC.
For his M.S. and Ph.D., Bentley moved on to the University of North Carolina. His fascination with algorithms continued, as evident in his thesis "Divide and Conquer Algorithms in Multidimensional Space." Bentley also started teaching undergraduate programming classes at UNC, beginning a lifelong commitment to teaching, which he saw as yet another way of helping programmers stay in love with their craft.
In the late 1970s, Bentley joined Carnegie-Mellon University as an Assistant (later Associate) Professor of Computer Science and Mathematics, where he taught mathematics at the undergraduate level and theory and algorithms to graduate students. At CMU, Bentley received the Dean's Award for Excellence in Undergraduate Education. Among his students were Jeff Eppinger, who eventually won a Forsythe Award of the ACM (Bentley had take second place in the 1975 Forsythe competition), and graduate students James Gosling, who went on to develop the Java programming language; John Ousterhout, who eventually created the Tcl language; and Brian Reid, currently a member of Bell Labs Research, Silicon Valley Systems Laboratory. Bentley was also coadvisor for Charles Leiserson, now a professor of computer science at the Massachusetts Institute of Technology and coauthor, along with Ronald Rivest and Thomas Corman, of Introduction to Algorithms. In addition to teaching, Bentley began consulting for industry professionals, developed classes for organizations such as IBM and Bell Labs, continued his research in computational geometry, VLSI, algorithms, and code tuning, and wrote his first book, Writing Efficient Programs (Prentice Hall, 1982).
Bentley left CMU in the early 1980s, joining Bell Labs as a Member of the Technical Staff. Over the years, his work at the Labs has focused on research in algorithms (computational geometry, optimization, network design, and data compression), UNIX tools (Grap, Anim, and little languages), and product development (a little language for 5ESS Database constraints, AT&T Computer Telephone 8130, Project interactiveAnswers, and network design tools). Bentley holds three patents relating to data compression, PC/telephone interfaces, and web/call center interface.
It was during this time that Bentley's work became more widely known to the programming community at large, thanks to his now legendary "Programming Pearls" column for the magazine Communication of the ACM. This column lead to his most famous book, Programming Pearls, which was recently released in its second edition (Addison-Wesley, 2000). In the early 1990s, Bentley began writing a column for UNIX Review magazine, then eventually moved over to Dr. Dobb's Journal as a contributing editor and columnist for its "Algorithm Alley" section. Over the years, Bentley has published or presented more than 200 papers, and maintained his ties to the academic community, as a visiting faculty member at the United States Military Academy at West Point and Princeton University.
Bentley is a recipient of this year's award not just for the quality of his research and code, but for his ongoing commitment to sharing the fruits of his efforts with fellow programmers. At Bentley's request, and in his name, Dr. Dobb's Journal is pleased to make a grant of $1000 to the Department of Computer Science at the University of North Carolina.
Please join us in honoring Jon Bentley. Once again, he reminds us that a mix of technology, innovation, vision, and cooperative spirit continue to be fundamental to advancement in software development.
Recipients of past Dr. Dobb's Excellence in Programming Awards include:
- Alexander Stepanov, developer of the C++ Standard Template Library.
- Linus Torvalds, the force behind the Linux operating system.
- Larry Wall, author of the Perl programming language.
- James Gosling, chief architect of Java.
- Ronald Rivest, an educator, author, and cryptographer.
- Gary Kildall, a computer pioneer in the areas of operating systems, programming languages, and user interfaces.
- Erich Gamma, Richard Helm, John Vlissides, and Ralph Johnson, authors of the Design Patterns: Elements of Reusable Object-Oriented Software.
- Guido van Rossum, creator of the Python programming language.
- Donald Becker, Linux networking contributor and chief investigator of the Beowulf Project.
Jonathan is editor-in-chief of DDJ and can be contacted at [email protected]