Nonficionado Sale

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to
for a chance to win.
Privacy Policy

Visit our stores

    Recently Viewed clear list

    Q&A | May 11, 2015

    Heidi Pitlor: IMG Powell’s Q&A: Heidi Pitlor

    Describe your latest book. My novel, The Daylight Marriage, is about a wife and mother who goes missing one day. The narrative alternates between... Continue »


On Order

New Trade Paper
Currently out of stock.
Add to Wishlist
available for shipping or prepaid pickup only
Qty Store Section
- Local Warehouse Computer Languages- C++

The Design and Evolution of C++


The Design and Evolution of C++ Cover

ISBN13: 9780201543308
ISBN10: 0201543303
All Product Details




"He who does not plow, must write."

--Martin A. Hansen

The ACM HOPL-2 conference on the History of Programming Languages asked me to write a paper on the history of C++. This seemed a reasonable idea and a bit of an honor, so I started writing. To get a more comprehensive and balanced view of C++'s growth, I asked a few friends from the early days of C++ for their recollections. That caused news of this project to travel through the grapevine. There, the story mutated, and one day I received a message from a friend asking where he could buy my new book on the design of C++. That email message is the real origin of this book.

Traditional books about programming and programming languages explain what a language is and how to use it. However, many people are also curious about why a language is the way it is and how it came to be that way. This book answers these last two questions for C++. It explains how C++ evolved from its first design to the language in use today. It describes the key problems, design aims, language ideas, and constraints that shaped C++, and how they changed over time.

Naturally, C++ and the ideas about design and programming that shaped it didn't just mutate by themselves. What really evolved was the C++ users' understanding of their practical problems and of the tools needed to help solve them. Consequently, this book also traces the key problems tackled using C++ and the views of the people who tackled them in ways that influenced C++.

C++ is still a young language. Some of the issues discussed here are yet unknown to many users. Many implications of decisions described here will not become obvious for years to come. This book presents my view of how C++ came about, what it is, and what it ought to be. I hope this will be of help to people trying to understand how best to use C++ and in the continuing evolution of C++.

The emphasis is on the overall design goals, practical constraints, and people that shaped C++. The key design decisions relating to language features are discussed and put into their historical context. The evolution of C++ is traced from C with Classes through Release 1.0 and 2.0 to the current ANSI/ISO standards work and the explosion of use, interest, commercial activity, compilers, tools, environments, and libraries. C++'s relationship to C and Simula is discussed in detail. C++'s relationship to other languages is discussed briefly. The design of major language facilities such as classes, inheritance, abstract classes, overloading, memory management, templates, exception handling, run-time type information, and namespaces are discussed in some detail.

The primary aim of this book is to give C++ programmers a better idea of the background and fundamental concepts of their language and hopefully to inspire them to experiment with ways of using C++ that are new to them. This book can also be read by experienced programmers and students of programming languages and might help them decide whether using C++ might be worth their while.


I am very grateful to Steve Clamage, Tony Hansen, Lorraine Juhl, Peter Juhl, Brian Kernighan, Lee Knight, Doug Lea, Doug McIlroy, Barbara Moo, Jens Palsberg, Steve Rumsby, and Christopher Skelly for reading complete drafts of this book. Their constructive comments caused major changes to the contents and organization of this book. Steve Buroff, Martin Carroll, Sean Corfield, Tom Hagelskjær, Rick Hollinbeck, Dennis Mancl, and Stan Lippman helped by commenting on selected chapters. Also, thanks to Archie Lachner for asking for this book before I had thought of writing it.

Naturally, I owe thanks to the many people who helped make C++. In a sense, this book is a tribute to them and some of their names can be found throughout the chapters and in the index. Should I single out individuals, it must be Brian Kernighan, Andrew Koenig, Doug McIlroy, and Jonathan Shopiro, each of whom has been a steady source of help, encouragement, and ideas for more than a decade. Also, thanks to Kristen Nygaard and Dennis Ritchie as the designers of Simula and C from which the key ingredients of C++ were borrowed. Over the years, I have come to appreciate them not only as brilliant and practical language designers, but also as gentlemen and thoroughly likable individuals.

Bjarne Stroustrup

Murray Hill, New Jersey


What Our Readers Are Saying

Add a comment for a chance to win!
Average customer rating based on 1 comment:

mathenagsatish, September 20, 2006 (view all comments by mathenagsatish)
Its a book for those guys who wants to know "what ,why & how" C++ was implemented.It explains those design details.
Was this comment helpful? | Yes | No
(2 of 3 readers found this comment helpful)

Product Details

Stroustrup, Bjarne
Addison-Wesley Professional
Reading, Mass. :
Programming Languages - C
Programming Languages - General
C (computer program language)
Data processing
Language, literature and biography
Computer Languages-C++
Edition Description:
Trade paper
Series Volume:
Publication Date:
March 1994
Grade Level:
Professional and scholarly
9.20x6.42x.95 in. 1.31 lbs.

Other books you might like

  1. The Annotated C++ Reference Manual New Trade Paper $67.25
  2. Inside the C++ Object Model Used Trade Paper $31.00
  3. Modern C++ Design: Generic... New Trade Paper $72.50
  4. More Effective C++ (Addison-Wesley... New Trade Paper $49.99
  5. More Exceptional C++: 40 New... New Trade Paper $56.95
  6. C Programming Language, 1st Edition
    Used Trade Paper $13.50

Related Subjects

Computers and Internet » Computer Languages » C++

The Design and Evolution of C++ New Trade Paper
0 stars - 0 reviews
$77.50 Backorder
Product details 480 pages Addison-Wesley Professional - English 9780201543308 Reviews:
"Synopsis" by , Focuses on the principles, processes and decisions made during the development of the C++ programming 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.
"Synopsis" by , This book focuses on the principles, process, and decisions made during the development of the C++ programming language. As the "inventor" of the language, Stroustrup presents his unique insight into the decisions which resulted in the features of C++--the universally praised, the controversial, and even some of the rejected ones. The book provides a solid introduction to OOP and C++ for beginners.
  • back to top


Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at