Design and Evolution of C++, The (英語) ペーパーバック – 1994/3/29
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
This book focuses on the principles, processes and decisions made during the development of the C++ programming language. As the inventor of the language, Stroustrup presents his insight into the decisions which resulted in the features of C++ - the praised, the controversial and even some of the rejected ones. By writing this book the author presents his object-oriented programming philosophy to the interested programming community. His vehicle is the C++ language but his focus is on real object-oriented programming language development for the working programmer rather than as a abstract approach to the OOP paradigm.
Bjarne Stroustrup is the designer and original implementer of C++, the author of The C++ Programming Language, The Annotated C++ Reference Manual, and The Design and Evolution of C++, and the consulting editor of Addison-Wesley's C++ In-Depth Series. Having previously worked at Bell Labs and AT&T Labs-Research, he currently is the College of Engineering Chair in Computer Science Professor at Texas A&M University. The recipient of numerous honors, including the Dr. Dobb's Excellence in Programming Award (2008), Dr. Stroustrup is a member of the National Academy of Engineering, an AT&T Fellow, an AT&T Bell Laboratories Fellow, an IEEE Fellow, and an ACM Fellow. His research interests include distributed systems, simulation, design, programming techniques, software development tools, and programming languages, and he remains actively involved in the ANSI/ISO standardization of C++. Dr. Stroustrup holds an advanced degree from the University of Aarhus in his native Denmark and a Ph.D. in Computer Science from Cambridge University, England.
But then I decided that being a language lawyer would be too boring and didn't fit my mindset and lifestyle and I dropped the whole idea of becoming a C++ language lawyer.
Overall this is a great book by Bjarne Stroustroup, the creator of C++ language. He tells the history of C++ since day one. Get this book if you want to know why C++ is the way it is, how it's historically connected with C, and how it's made.
I've placed this book #32 in my all time 100 most favorite programming books. Google for >>catonmat favorite programming books<< to find my list and other reviews. My reviews have no affiliate links or garbage. Just awesome books that I truly enjoy.
This is an older book (1994) and the last two decades of C++ evolution are not described. If you want to know about the early history of C++ and to see how something is shaped by multiple technical and political and commercial forces, then this book is a good read. It was interesting to read about how innovation within a programming language happens through the interactions of people who are given the time and resources.
Stroustrup did a good job on the writing of this book and the narration is quite good. It is interesting to read of the various discussions that came up during the years of when C++ moved from a lab experiment to a commercial product with a standard and compiler vendors delivering into the eager hands of programmers good compilers for C++. It is also interesting to read about the large number of people who through discussions with Stroustrup helped to shape the C++ language.
There is some discussion about the standards process and of how a standard is created and evolved. Some of the discussions and conflicts and how conflicts were resolved are interesting. The history of C++ from the first C++ compilers which generated C source from the C++ so that any computer with a C compiler could also use the C++ compiler was interesting. The discussion about the evolution plans versus the evolution reality is interesting. And in some places Stroustrup points out mistakes as well as times when something was done for political expediency rather than technical need.
This book is not really about C++ programming language though there is discussion of particular C++ language constructs. It is really about how the C++ language grew from a lab experiment by someone who wanted a better programming language and wanted other people to use that language because it was a better language.
I had heard of C++ as being a better C and I had always assumed that the goal of C++ was to be a better C. However what I took away from this book was that C++ was intended to be a better programming language period. The use of C programming language constructs was due to Stroustrup's idea that the C programming language was the language to replace and in order to do that C++ must be as good as C in the ways that C was good (primarily performance), to be compatible with much of the C programming infrastructure such as linkers and existing libraries, and to also provide the language constructs that would move as much of the source checking onto the compiler as possible so that people working on large, complex software systems would have a better safety net.
If you are interested in things like "Why did they do that?", this is one of the documents you should read. It is also a first class lesson on how to accomplish your interests, when you likely will not do that single-handedly, the primary common component of all great achievement.