| help | account  

  Books by Stephen C. Dewhurst:   
C++ Common Knowledge: Essential Intermediate Programming
By Stephen C. Dewhurst
$27.50 (21% Off!)

C++ Gotchas: Avoiding Common Problems in Coding and Design
By Stephen C. Dewhurst
$34.95 (22% Off!)


Want to see more?
View favorite books from other authors.
We asked some of our (and your!) favorite authors to share with us their favorite 10 computer books from the past 10 years. Here's what we got back.

Stephen C. Dewhurst was among the first users of C++ at Bell Labs. He has more than eighteen years of experience in applying C++ to problem areas such as compiler design, derivative securities trading, e-commerce and embedded telecommunications. He is the author of C++ Common Knowledge: Essential Intermediate Programming and C++ Gotchas: Avoiding Common Problems in Coding and Design, the co-author of Programming in C++, a contributing editor for C/C++ Users Journal and a former columnist for C++ Report. Steve is also the author of two C++ compilers and numerous articles on compiler design and C++ programming techniques.


Stephen's favorite books:
Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides - Object-oriented design acknowledges the need for efficient and accurate communication of architectural designs, while recognizing the continuing role of creativity and craftsmanship. Most of the patterns described here are essential components of any competent programmer's toolkit.


Analysis Patterns: Reusable Object Models by Martin Fowler -- Important recognition of the importance of abstracting as patterns recurring, domain-specific high level modularization and design.


Modern C++ Design by Andrei Alexandrescu -- This is the first C++ book since Barton and Nackman's Scientific and Engineering C++ that kept me awake at night, caused me to drive through red lights and otherwise ignore every practical aspect of my life for months at a time.


The C++ Standard Library by Nicolai M. Josuttis -- This is the best practical reference available for the C++ standard library. It's well structured, well organized and filled with straightforward, clear code examples.


The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie -- This is the standard by which all other introductory language texts are measured. It respects the intelligence of the reader and presents not only the mechanics of the language, but also its proper use and underlying philosophy in fewer than 200 well-crafted pages.


Introduction to Automata Theory, Languages and Computation by John E. Hopcroft, Rajeev Motwani, and Jeffrey D. Ullman (my edition is 1979, current edition is 2000).
(The author's original choice was an older edition that is now out of print. This link is to the new edition now available)


Art of Computer Programming Volume 1: Fundamental Algorithms by Donald E. Knuth -- (My edition is 1973, current edition is 1997.) Even if you don't use higher mathematics on a day-to-day basis, the challenge of learning such subjects is valuable training for any kind of intellectual endeavor, whether it's programming or serving on a jury. These are two of my favorites; they're difficult, authoritative classics, and they reward repeated study over many years.


Invitation to Sociology: A Humanistic Perspective by Peter L. Berger -- This is by one of the best, back when sociologists made sense and knew how to write a straightforward declarative sentence. Programming has always been a social activity, and as projects and teams grow so does the importance of looking at situations from a sociological as well as a technical perspective. This is perhaps the best introduction to the field; it's short, authoritative, incisive and refreshingly well written.


One Man's Meat (Out of Print) by E. B. White -- (My edition is 1982, current edition is 1997.) Any collection of essays by White is worth reading; this is probably my favorite. Each essay has an almost fractal structure of sentence within paragraph within essay within society, informed throughout by consistent, restrained metaphor. White's comments on natural language clarity and idiom apply directly to program code, and the structure of his essays provides a good metaphor for the structure of a software module.


The Scientific American Book of Projects for the Amateur Scientist (Out of Print) by C. L. Stong -- Nothing can match the childhood excitement of delving into a book with instructions on how to construct "A Homemade Atom Smasher" and "An Inexpensive X-Ray Machine." Even when projects went awry (my mother drew the line at my growing "harmless" bacteria in the kitchen, and my Van de Graaff generator produced more smoke than charge), this book and others like it imbued the subjects of science, mathematics and (even then) programming with a level of dynamic excitement that was sadly missing from their presentation at school.