or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
Sorry!
More Buying Choices
57 used & new from $9.55

Have one to sell? Sell yours here
 
   
The Design and Evolution of C++
 
 
Tell the Publisher!
I’d like to read this book on Kindle

Don’t have a Kindle? Get your Kindle here.
 
  

The Design and Evolution of C++ (Paperback)

~ (Author)
4.6 out of 5 stars  See all reviews (20 customer reviews)

List Price: $59.99
Price: $39.14 & this item ships for FREE with Super Saver Shipping. Details
You Save: $20.85 (35%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Only 5 left in stock--order soon (more on the way).

Want it delivered Tuesday, November 10? Choose One-Day Shipping at checkout. Details
24 new from $19.95 33 used from $9.55

Formats

Amazon Price New from Used from
  Paperback, April 7, 1994 $39.14 $19.95 $9.55
  Unknown Binding, December 31, 1997 -- -- $200.00

Frequently Bought Together

The Design and Evolution of C++ + The C++ Programming Language: Special Edition + Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)
Price For All Three: $127.31

Show availability and shipping details

  • This item: The Design and Evolution of C++ by Bjarne Stroustrup

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • The C++ Programming Language: Special Edition by Bjarne Stroustrup

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) by Scott Meyers

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought

The Annotated C++ Reference Manual

The Annotated C++ Reference Manual

by Margaret A. Ellis
4.3 out of 5 stars (15)  $37.87
Programming: Principles and Practice Using C++

Programming: Principles and Practice Using C++

by Bjarne Stroustrup
4.1 out of 5 stars (23)  $58.53
Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)

Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)

by Scott Meyers
4.8 out of 5 stars (143)  $40.56
Inside the C++ Object Model

Inside the C++ Object Model

by Stanley B. Lippman
4.7 out of 5 stars (15)  $35.33
Elements of Programming

Elements of Programming

by Alexander Stepanov
4.8 out of 5 stars (6)  $31.35
Explore similar items

Editorial Reviews

Product Description

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.


From the Inside Flap

"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. Acknowledgments

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

0201543303P04062001


Product Details


More About the Author

Bjarne Stroustrup
Discover books, learn about writers, read author blogs, and more.

Visit Amazon's Bjarne Stroustrup Page

Look Inside This Book


What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(2)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

 

Customer Reviews

20 Reviews
5 star:
 (13)
4 star:
 (6)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.6 out of 5 stars (20 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
17 of 18 people found the following review helpful:
5.0 out of 5 stars Required reading before making a suggestion for C++ additons, August 29, 2000
By G. Powell (Seattle, WA USA) - See all my reviews
(TOP 1000 REVIEWER)    (REAL NAME)   
This is probably the most well written B. Stroustrup book. Without dwelling too much on the arcane, Bjarne goes over all of the reasons for the additions to the "C" language to create C++. Bjarne comes off as a guy just trying to get a job done and yet do what is right for the rest of the programming community. Its a nice change from the almost religious furor discussions that occurr on USNET.

There are still open issues among the users of C++, people who want a feature found in another language, or wish that their personal idea would be incorporated into the general language. Before posting a proposal to comp.std.c++ you should read this book. There you will most likely find a discussion on the idea and why it is either not implemented, or was rejected. Then you can organize your counter argument without wasting everyone's time. (Also one of the first counter posts will be a citation to this book.) It's not that C++ is the perfect language, it isn't, after all my pet idea of overloading operator.() was rejected, but in ammending the ISO99 C++ standard you need to know what has already been discussed. So we can go forward without rehashing.

Intermediate C++ programmers would also benefit from the discussions on casting, use of private/public/protected inheritence and scoping, and exceptions. Bjarne goes over why these things changed over time and what problems these features are intended to solve.

Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
12 of 12 people found the following review helpful:
4.0 out of 5 stars If only more languages had a book like this..., July 25, 2002
By Douglas Welzel (Seattle, WA) - See all my reviews
(REAL NAME)   
While this title probably won't help your development skill, it provides a great deal of insight into the design of C++. Parts of C++ may seem a bit odd (crufty, overly complex, however you want to think of it). In this book Stroustrup clearly explains the motivations and tradeoffs that went into every feature of the language. While you may not agree with the decisions, understanding the thought process behind them is incredibly interesting and will give you a better appreciation for the language.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
10 of 10 people found the following review helpful:
5.0 out of 5 stars the story behind C++, October 20, 2002
By Sören Meyer-Eppler (Havixbeck Deutschland) - See all my reviews
This book is very interesting in that it doesn't tell you how to program in C++ but rather highlights why C++ is the way it is today. It starts with the very roots, an extension to the C language ('C with classes'') Bjarne devised back in 1979, because he faced a software engineering problem at the time where all currently available tools seemed inappropriate. This highly real world oriented design attitude was kept throughout the evolution of C++ - Bjarne specifically didn't want to produce an 'academic' language. This view and the absolute necessity for C compatibility and efficiency explain lots, if not all, of C++s more ugly syntactic and semantic constructs. While the book has chapters dealing with very specific parts of the language, I found the philosophical chapters the most interesting. These explain the author's personal views on programming and design in general and consequently why certain things were accepted or rejected into C++. Bjarne stresses the point that C++ was designed from the beginning to be a 'multiple paradigm' language. Object oriented programming was never meant to be, and is not, the only valid - holy grail - style of programming, that many make it out to be. It's quite frustrating to see features devised ten years ago still not properly supported by the current crop of compilers, templates for example (export anyone?).
The book is not for the novice programmer, but for the experienced C++ user who wants to know the whys behind the language. While a novice might be interested in that information too, it is not an advisable lecture for those readers, since they might easily get confused with the source code examples showing directions in which C++ did not evolve.
To quote one of the design goals: 'C++ is a general-purpose language designed to make programming more enjoyable for the serious programmer' - I think it succeeded.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

5.0 out of 5 stars Must read item before jumping into C++
If one has a learning style of big picture first small details later like I do, this book is the prerequisite for learning C++. Read more
Published on July 1, 2007 by Seo Jung Woo

4.0 out of 5 stars If you know what to expect about this book, it is the best choice
I have red this book for the first time 4 years ago. What I remember is that, at that time, I got few interesting informations here and there but overall the reading was more... Read more
Published on April 28, 2007 by Olivier Langlois

4.0 out of 5 stars Not essential, but very interesting all the same
In this book, C++ creator Bjarne Stroustrup talks us through the genesis of C++, detailing his design philosophies, the history of the language's development, and the various... Read more
Published on February 19, 2007 by Thing with a hook

4.0 out of 5 stars Great glimpse of a programming language's history
This book is very interesting in that it doesn't tell you how to program in C++ but rather highlights why C++ is the way it is today. Read more
Published on October 28, 2005 by Sören Meyer-Eppler

5.0 out of 5 stars Modeling Engineer
This is a great book for those who want to understand the history of C++, the details of its implementation and more importantly, this language's spirit.
Published on May 7, 2003

3.0 out of 5 stars For the Novice C++ Programmer
I was taking a graduate class for beginning C++ students. The book gave a wonderful history of C++. I would recommend for students who have not taken C or C+ to understand the... Read more
Published on October 21, 2002 by K. Woolhiser

5.0 out of 5 stars Compulsive reading
Take a break from learning the HOW of C++ and learn the WHY.

Ever wanted to know why C++ is the way it is, or why certain features were "left out"? Read more

Published on October 1, 2002 by Fungus

5.0 out of 5 stars Entry point to becoming an educated C++ programmer!
My C++ education started around the time when there were no real C++ compilers, a broken translator from AT&T was all there was. Read more
Published on July 13, 2002 by Shankar N. Swamy

5.0 out of 5 stars What a great book!
If you're a serious C++ programmer, and love to read about interesting technical stuff, this book is great. Read more
Published on April 29, 2002

4.0 out of 5 stars Good for Seasoned Programmer Learning C++
I've programmed in several languages, and use programming regularly in my research (mostly artificial life simuations, statistical programming, and the like). Read more
Published on August 12, 2001 by Herbert Gintis

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Discussion Replies Latest Post
Textbooks for Kindle DX? 61 1 day ago
textbook scam 66 6 days ago
Amazon is a great place to buy textbooks! 35 18 days ago
Search Customer Discussions
Search all Amazon discussions
   




Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.