The following is a list of books that we have come across which we feel are excellent sources for software design and development. Please feel free to drop us a note to tell us your opinions or recommend other good sources. We look forward to hearing from you.
The Highwood Technologies Development Team
Note: You can order any of these books from by just clicking on the titles!
|A great book describing various design solutions. We are sure you will apply (or have applied with another name) a number of them in your software soon after opening the pages. We particularly like the factory, prototype, observer, and state patterns.|
|The Practice of Programming||Brian Kernighan & Rob Pike||A very interesting and insightful book whose purpose is to help you write better programs in any language. It provides practical advice on a number of topics, including Programming Style, Debugging, Testing, and Performance. An excellent book for those just starting out in the software field, it will also provide reaffirmation and focus for those of us with more experience.|
|Advanced C++ Programming Styles And Idioms||James O. Coplien||Not a book for the beginner! Although written in 1992, this book will definitely make you think.|
|C++ IOStreams Handbook||Steve Teale||If you really need a book discussing the intricacies of I/O stream programming then this book is for you. It paid for itself when we were dealing with parameterized manipulators.|
|Effective C++||Scott Meyers||50 rules which will definitely make your C++ code better and more robust. One of our favorites.|
|More Effective C++||Scott Meyers||Once you have finished his first set, read on for more great ways to improve your software (covers efficiency, exceptions, smart pointers, etc).|
|Effective C++ CD||Scott Meyers||Contains the text of both of the author's books, with the additional benefit of online access.|
|STL Tutorial and Reference Guide||David R. Musser, Atul Saini||A great book on what STL is and how to use it. Also a very good STL reference.|
|Effective STL||Scott Meyers||Another great book from Mr. Meyers. His writing style really helps guide you around the complexities of STL.|
|The Annotated C++ Reference Manual||Ellis & Stroustrup||What more can we say? A complete C++ reference which also answers questions like why features are defined the way they are.|
|Computer Graphics Principals and Practice||Foley, vanDam, Feiner, Hughes||A very complete text on computer graphics. Covers everything from basic raster drawing algorithms to solid modeling.|
|Programmers Guide to the EGA,VGA and Super VGA Cards||Richard Ferraro||A thorough book on PC graphics and various chipsets. Very useful if you need to dig into low level graphics programming.|
|Inside Visual C++||David J. Kruglinski||
It's tough to initially get your arms around Windows® programming. This book helps you get a good start.
|Extreme Programming Explained||Kent Beck||An introduction to Extreme Programming that will help you decide if XP might work for you.|
|Planning Extreme Programming||Kent Beck & Martin Fowler||Considering lightening up your software process? (don't have a software process?) Want to understand how to implement extreme programming? Short chapters, plenty of examples, and an easy writing style make this a great read. The author's "keep it simple" stance is a welcome approach to those who consider "software process" a four letter word.|
|Real-Time UML||Bruce Powell Douglass||A very good book on object oriented analysis & design using UML for embedded systems. Also discusses various design patterns relating to embedded systems.|
|UML Distilled||Martin Fowler||This book is a short but thorough guide to the UML process and its notation. The author's writing style is very light and easy to read. The book is full of suggestions and rationales for when to use various UML constructs.|