| Books by Stephen C. Dewhurst: |
|
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.
|
|