Practical C++ Design From Programming To Architecture.


Download Read Online

                       Preface


Throughout my career, I have mentored both students and fellow employees in programming, and many of them have suggested that I write my thoughts down in book form. However, I have typically responded with the rebuttal that I felt I had nothing novel to present.


Being a largely self-taught programmer, I have always been able to rattle off a long list of books from which I have derived most of my knowledge. Therefore, what could I write about that has not already been said?


I came to realize, however, that the majority of books that I encounter tend to focus only on pieces of design or implementation rather than taking a holistic approach.


For example, if one wants to learn the C++ language, Stroustrup [24] or Lippman and Lajoie [15] are excellent references. For learning C++ best practices, one need only read the books by Sutter [25, 26, 27], Sutter and Alexandrescu [28], or Meyers [18, 17, 19].


Of course, learning to program extends well beyond C++. For data structures and algorithms, there are always the classics by Knuth [11, 12, 13] or the more accessible and concise book by Cormen et al [6].


To learn object-oriented analysis and design, the book by Booch et al [4] is an excellent reference. Of course, design patterns can be learned from Gamma et al [7], and general programming practices can be learned from many books such as those by McConnell [16], Spinellis [23], or Kernighan and Pike [10].


Certainly, the deeper the specialty one seeks, the more esoteric the book one can find (and should eventually read).


This book is not such a book. Rather, I have striven to write a book that operates from the premise that the reader already possesses a working knowledge of the information encased in works such as the aforementioned titles.


In this book, I instead attempt to ground the reader’s theoretical knowledge of design through practice using a single case study.

Customer Reviews