Dr. Dobb's Journal - April 2008 - (Page 17) D04LEAD_p3ds.qxp 2/13/08 8:42 AM Page 17 Past Award Recipients The Dr. Dobb’s Excellence in Programming Award is annually bestowed on individuals who, in the spirit of innovation and cooperation, have made significant contributions to the advancement of software development. Past recipients include: • • • • • • • • • • • • • • • • Alexander Stepanov, for his work on the C++ Standard Template Library. Linus Torvalds, a name synonymous with 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’s creator. Donald Becker, Linux networking contributor and chief investigator of the Beowulf Project. Jon Bentley, computer science author and researcher. Anders Hejlsberg, developer of Turbo Pascal and architect of C# and the .NET Framework. Adele Goldberg and Dan Ingalls, pioneers in Smalltalk and object-oriented programming. Don Chamberlin, a database researcher and coauthor of SQL. P.J. Plauger, a longtime champion of the C/C++ programming languages. Guy L. Steele, for a broad range of contributions to software development. Grady Booch, for his contributions to object-oriented programming, software architecture, and modeling. things and see things work. You can kind of get that with a math proof, but it’s not the same thing.” Moving to England during the early days of the personal computer revolution, Stroustrup earned a Ph.D. in the Computing Laboratory at Cambridge University, studying under David Wheeler and focusing on the design of distributed systems. There he shared office space with Bruce Croft, Jeremy Dion, Neil Grey, David Harper, and Mark Pezzaro. Stroustrup is a member of Churchill College. In 1979 Stroustrup moved to the United States to work at the Computer Science Research Center of Bell Telephone Labs. Riding out the 1984 breakup of the Bell system and the 1995 breakup of AT&T, he joined AT&T Bell Labs, the part of Bell Labs that AT&T kept, where he headed up the Labs’ Large-Scale Programming Research Department, keeping that position until 2002, when he joined the computer science department of Texas A&M University. Today he holds the College of Engineering chair in Computer Science at Texas A&M. He began work on what would become C++ in the same year that he joined Bell Labs. It began as a natural sequel to his Ph.D. work in distributed systems, as a project to distribute UNIX over a network of small computers. Stroustrup set out to develop some tools to help the project along and, as sometimes happens, he found the tools more interesting than the project. The tools turned into something called “C with Classes,” which later became known as “C++.” C++ was used internally in AT&T in 1983 and the name, suggested by Rick Mascitti, was settled on in that year. The first commercial implementation was released in 1985, the year of the graphical user interface, the year that Microsoft delivered Windows 1.0, Digital Research shipped GEM, Commodore released the Amiga, Atari brought out the ST, and not long after Apple delivered the Macintosh. It was a propitious time to introduce a practical class-based programming language. C++ reflected Stroustrup’s interest in combining the practical and the theoretical, which in turn reflected his working-class background and his academic achievements, his American career and his European education. Although he mines his own theoretical education for ideas, he always looks for the practical difference he can make in people’s lives. It even extends to his taste in philosophers. “I feel most at home with the empiricists rather than the idealists,” he has said. “I…prefer Aristotle to Plato, Hume to Descartes.” C++ also reflected Stroustrup’s respect for the individual: “Respect for groups that doesn’t include respect for individuals of those groups isn’t respect at all. Many C++ design decisions have their roots in my dislike for forcing people to do things in a particular way.” Indeed, he prefers to think of C++ as a language that supports multiple programming styles rather than as an object- or classbased language. Not that classes aren’t key to its design. His dream language, he once told author Steve Lohr, would be a blend of Algol and Simula, two European languages. But when he created his language, he based it on C, the most practical, efficient, and American of languages, adding to C the concept of classes that he admired in Simula. Hence “C with Classes.” In fact, despite the influence of Smalltalk over the graphical user interfaces that emerged at the same time as C++, it was primarily through C++ that the programming community, at least in America, learned class-based programming. C++ is a language created by an individual. There were, Stroustrup says, no design documents and no committee. Today, thousands of developers have contributed to the evolution of C++, but Stroustrup has continued to be deeply involved in its advancement. He took an active role in the creation of the ANSI/ISO standard for the language, and continues to work on the maintenance and revision of that standard. He wrote the first book on the language, which remains the standard text today. He continues to work on programming tools, techniques, and languages as a professor and as a member of the Parasol Lab at Texas A&M, which concentrates on research on next-generation high-performance computing languages and systems and for the development of algorithms and applications that exploit these to solve computation and/or data intensive applications. His primary tool for this work is C++. This is not the first recognition of Bjarne Stroustrup’s work. His many honors include election to the National Academy of Engineering and the IEEE Computer Society’s Computer Entrepreneur Award, both reflecting his pragmatic side. His scientific honors includes being named one of America’s top 12 young scientists by Fortune magazine and receiving the William Proctor Prize for Scientific Achievement from Sigma Xi. He is an AT&T Fellow and a Bell Laboratories Fellow, an ACM Fellow and an IEEE Fellow, is a recipient of the ACM Grace Murray Hopper Award for laying the foundations for C++, and was named by Byte magazine as one of the 20 most influential people in the computer industry in the last 20 years. He can now add to this impressive list the 2008 Dr. Dobb’s Excellence in Programming Award. Through his proclivity for putting theory into practice, his vision in matching the tool to the need, his respect for the intelligence and opinions of the working programmer, and his tireless work in advancing the art and science of software development, Bjarne Stroustrup most assuredly serves as a model for excellence in programming. DDJ April 2008 l www.ddj.com l Dr. Dobb’s Journal 17 http://www.ddj.com
Table of Contents Feed for the Digital Edition of Dr. Dobb's Journal - April 2008 Dr. Dobb's Journal - April 2008 Contents Hmmmm Alia Vox Developer Diaries Dr. Dobb's Excellence in Programming Award Conversations Fast String Search on Multicore Processors The Byzantine Generals Problem Optimizing Math-Intensive Applications with Fixed-Point Arithmetic Random Numbers in a Range Using Generic Programming The Agile Edge Effective Concurrency Swaine's Flames Dr. Dobb's Journal - April 2008 Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page Cover1) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page Cover2) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page 1) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page 2) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Journal - April 2008 (Page 3) Dr. Dobb's Journal - April 2008 - Contents (Page 4) Dr. Dobb's Journal - April 2008 - Contents (Page 5) Dr. Dobb's Journal - April 2008 - Hmmmm (Page 6) Dr. Dobb's Journal - April 2008 - Hmmmm (Page 7) Dr. Dobb's Journal - April 2008 - Hmmmm (Page 8) Dr. Dobb's Journal - April 2008 - Hmmmm (Page 9) Dr. Dobb's Journal - April 2008 - Alia Vox (Page 10) Dr. Dobb's Journal - April 2008 - Alia Vox (Page 11) Dr. Dobb's Journal - April 2008 - Developer Diaries (Page 12) Dr. Dobb's Journal - April 2008 - Developer Diaries (Page 13) Dr. Dobb's Journal - April 2008 - Developer Diaries (Page 14) Dr. Dobb's Journal - April 2008 - Developer Diaries (Page 15) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Excellence in Programming Award (Page 16) Dr. Dobb's Journal - April 2008 - Dr. Dobb's Excellence in Programming Award (Page 17) Dr. Dobb's Journal - April 2008 - Conversations (Page 18) Dr. Dobb's Journal - April 2008 - Conversations (Page 19) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 20) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 21) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 22) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 23) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 24) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 25) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 26) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 27) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 28) Dr. Dobb's Journal - April 2008 - Fast String Search on Multicore Processors (Page 29) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 30) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 31) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 32) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 33) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 34) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 35) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 36) Dr. Dobb's Journal - April 2008 - The Byzantine Generals Problem (Page 37) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 38) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 39) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 40) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 41) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 42) Dr. Dobb's Journal - April 2008 - Optimizing Math-Intensive Applications with Fixed-Point Arithmetic (Page 43) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 44) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 45) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 46) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 47) Dr. Dobb's Journal - April 2008 - Random Numbers in a Range Using Generic Programming (Page 48) Dr. Dobb's Journal - April 2008 - The Agile Edge (Page 49) Dr. Dobb's Journal - April 2008 - The Agile Edge (Page 50) Dr. Dobb's Journal - April 2008 - The Agile Edge (Page 51) Dr. Dobb's Journal - April 2008 - Effective Concurrency (Page 52) Dr. Dobb's Journal - April 2008 - Effective Concurrency (Page 53) Dr. Dobb's Journal - April 2008 - Effective Concurrency (Page 54) Dr. Dobb's Journal - April 2008 - Effective Concurrency (Page 55) Dr. Dobb's Journal - April 2008 - Swaine's Flames (Page 56) Dr. Dobb's Journal - April 2008 - Swaine's Flames (Page Cover3) Dr. Dobb's Journal - April 2008 - Swaine's Flames (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.