Every year, Dr. Dobb's Journal honors individuals who have made significant contributions to the advancement of software development.
The recipients of this year's awards are pioneers in their own right. Recognizing the key role security would eventually play in computer networking more than 20 years ago, Ron Rivest focused much of his research and efforts on cryptographic design and cryptoanalysis. Likewise, nearly 25 years ago, the late Gary Kildall single-handedly wrote the first operating system for personal computers. Please join me in acknowledging the contributions both have made to the art and craft of computer programming.
Along with Adi Shamir and Leonard Adleman, Ronald L. Rivest is perhaps best known as an inventor of the RSA public-key cryptosystem. Developed in 1977, the RSA cryptosystem has withstood years of extensive cryptanalysis, inspiring a high level of confidence in the theoretical underpinnings of the algorithm. The RSA cryptosystem has formed the basis of a variety of security-related tools from RSA Data Security, a company Ron helped launch. Ron currently serves as a director of the company. RSA software is generally acknowledged as one of the leading commercially available crypto and security toolsets, and has been adopted by third-party software companies worldwide.
When they began work on what became known as the RSA algorithm, Rivest, Shamir, and Adleman were assistant professors at the Massachusetts Institute of Technology. Shamir and Adleman were in the Department of Mathematics, and Rivest was in the Department of Electronic Engineering and Computer Science. However, all three were members of the Laboratory for Computer Science. They were stimulated to work on public-key cryptography by the seminal article "New Directions in Cryptography," by Whitfield Diffie and Martin Hellman, which appeared in the Proceedings of the IEEE in November 1976. Over the course of their research, they came up with numerous schemes, all of which they broke except one. That one is now known as "RSA."
Rivest is also well known as the coauthor, with Thomas H. Cormen and Charles E. Leiserson, of Introduction to Algorithms a comprehensive introduction to the modern study of computer algorithms. In addition to teaching classes ranging from machine learning to computer and network security, Rivest has published dozens of papers and articles over the years (including "The RC5 Encryption Algorithm," DDJ, January 1995).
Rivest is currently the Webster Professor of Electrical Engineering and Computer Science at MIT, an associate director of MIT's Laboratory for Computer Science, and a leader of that lab's Cryptography and Information Security research group. He received a B.A. in mathematics from Yale University, and a Ph.D. in computer science from Stanford University. He is a Fellow of the ACM and of the American Academy of Arts and Sciences, a member of the National Academy of Engineering, and he has served as director of the International Association for Cryptologic Research, the organizing body for the Eurocrypt and Crypto conferences.
The list of Gary Kildall's contributions to the personal-computer industry is the stuff of which legends are made. Kildall, who passed away in 1994 at the age of 52, is credited with:
- Introducing operating systems with preemptive multitasking and windowing capabilities, and menu-driven user interfaces.
- Creating the first floppy-disk track buffering scheme, read-ahead algorithms, file directory caches, and RAM disk emulators.
- Defining the first programming language and writing the first compiler specifically for microprocessors.
- Creating the first microprocessor disk operating system.
- Creating the first computer interface for video disks to allow automatic nonlinear playback, presaging today's interactive multimedia.
- Developing the file system and data structures for the first consumer CD-ROM.
- Creating the first successful open system architecture by segregating system-specific hardware interfaces in a set of BIOS routines, ushering in the third-party software industry.
Above all else, Kildall is remembered for his CP/M (short for "Control Program/Monitor" or "Control Program for Micros," depending on who you talk to) operating system. In reality, Kildall didn't set out to create an operating system. Instead, when developing PL/M (a programming language for the 8080 that was based on the mainframe-oriented language XPL), Kildall needed to write an interface to communicate with disk drives. CP/M was the ultimate result, and Kildall eventually founded Digital Research to market the OS.
In subsequent years, Kildall wrote a version of the programming language LOGO, which was later marketed as DRI LOGO; created "GEM," a Mac-like user-interface shell for non-Mac computers; and launched KnowledgeSet (a pioneer in the area of optical-disk publishing) and Prometheus Light and Sound (a company that focused on what he called a "home PBX system"). Kildall sold DRI to Novell in 1991. The Digital Research legacy lives on today in the form of Caldera's DR DOS, which was recently released in source-code form over the Internet.
Although he originally planned a career as a high-school math teacher, Kildall became enamored with computer programming while he was an undergraduate at the University of Washington. He then began writing programs that computed navigation triangles and tide tables for his father (who owned a navigation school in Seattle). Kildall eventually earned a Ph.D. in computer science from the University of Washington, and for several years taught computer science at the Naval postgraduate school in Monterey, California.
Rivest's and Kildall's contributions to computer programming will be acknowledged at the Software Development '97 Conference in San Francisco and Dr. Dobb's Journal will make available financial grants to university programs of their choice. At Ron's behest, a $1000 grant will be given to the MIT EECS Department in support of the undergraduate program at MIT. A similar grant will be made to Monterey Peninsula College in Gary's name.
Please join us in honoring both Ron Rivest and Gary Kildall. As with previous recipients of this award, they remind us that a mix of technology, innovation, vision, and cooperative spirit continue to be fundamental software-development principles.
In past years, recipients of Dr. Dobb's Excellence in Programming Award have included:
- Alexander Stepanov, developer of the C++ Standard Template Library.
- Linus Torvalds, the force behind the Linux operating system.
- Larry Wall, author of the Perl language.
- James Gosling, chief architect of Java.