Customer Reviews


109 Reviews
5 star:
 (73)
4 star:
 (15)
3 star:
 (14)
2 star:
 (2)
1 star:
 (5)
 
 
 
 
 
Average Customer Review
Share your thoughts with other customers
Create your own review
 
 
Only search this product's reviews

The most helpful favorable review
The most helpful critical review


612 of 628 people found the following review helpful:
5.0 out of 5 stars Fundamental Book, but should be last read
This book is written in the way creator Bjarne Stroustrup sees his language and how his language should be used. This book is not thin on material for the intermediate to advanced C++ software engineer.

One word in warning to potential buyers: You better be sharp with your STL skills before reading this book. Stroustrup writes his implementations around the STL which is...

Published on April 11, 2001

versus
96 of 108 people found the following review helpful:
3.0 out of 5 stars An overrated, disorganized book completely unsuited as a learning text and only mildly useful as a reference
Over the last two years, I have come to love the C++ language despite all its quirks and horrendous syntax. I view its primary creator and the C++ expert community with much awe . I love the STL, Boost and Blitz libraries for their elegance in design and ease of use. Considering my prior programming experience was on the uncomplicated Java platform, this is something...
Published on August 27, 2006 by Tarun R. Elankath


‹ Previous | 1 211| Next ›
Most Helpful First | Newest First

612 of 628 people found the following review helpful:
5.0 out of 5 stars Fundamental Book, but should be last read, April 11, 2001
By A Customer
This review is from: The C++ Programming Language: Special Edition (Hardcover)
This book is written in the way creator Bjarne Stroustrup sees his language and how his language should be used. This book is not thin on material for the intermediate to advanced C++ software engineer.

One word in warning to potential buyers: You better be sharp with your STL skills before reading this book. Stroustrup writes his implementations around the STL which is not covered from a tutorial style in this book before he introduces it, which tells you that he meant for this book strictly as a reference not as a readers book. This critism is constructive, not disruptive, but I have been programming in standard ANSI/ISO C++ for 9 years, this book is best understood if you read the following first, if not, this book for even an itermediate C++ program cannot be digested to the fullest and you will reading this book fooling yourself of how much knowledge you have attained, when in reality, all that you have accomplished is reading this book so that you can say that you read Stroustrup, which is foolish, so read these first:

1) C++ Primer 3rd Edition: Stanley Lippman Addison Wesley Books Strengths: If you are starting out with C++ with no C++ experience, this book covers every facet beginner to advanced topics, such as fundamental classes, class design covering nested class and intense class scoping rules, which Stroustrups book does not cover, there is no reference to nested classes and access privileges with nested classes with Stroustrup's book. The chapters on function templates and another chapter on class templates are the most complete and thorough beyound what you need to know for richness is explained brilliantly and better than scant coverage in Stroustrup's. The C++ Primer is long though, so if you want to learn C++ the right way, skills like this take time and effort, there is no free lunches here, but this is regarded as the best C++ book regardless of level: starter, intermediate, or very advanced master. It also serves a robust reference. This books covers the STL containers well in its own chapter and also two chapter on all the STL algoritms, plus an extended alphabetically ordered repitition in type out of the book and compile form. This book is not for the faint hearted or lazy, if you are ambitious, this book will make you a C++ king. Also get its companion C++ Answer book with all answers to the books exercise questions from author Clovis L. Tondo, also an Addison Wesley title.

2) C++ Algorithms 3rd Edition by Robert Sedgewick also Addison Wesley books. Why? You seriouly have to know your date structure skills, linked lists, stacks, trees, queues and its accompanying algoritms, such as: searching and sorting, merging and merge sorting. Stroustrups books assumes you know how these all come together, if you do not believe this, then look at his stark and algorithmically complex data structure examples, once this is read everything will be a piece of cake, believe this, do not fool yourself.

3) The C++ Standard Library Tutorial and Reference from Nicolai Josuttis, from Addison Wesley also, this book is the defacto bible on mastering the STL, which covers brilliant chapters on containers( vectors, lists, maps, sets, deques, and much more ). It also covers a huge chapter on standard IO streams, at least over 150 pages on this alone, as well a masterful chapter on STL strings. This should be read after Sedgewick's book. This book like all Addison Wesley books, is of the highest qualitiy and caliber of writing making it fun to read and plenty of type out of the book samples to bang in the concept. This books brilliantly also tutors you in function objects, iterators and all its variants, and STL algorithms.

Last Word: Stroustrups book is definite worth in purchase and you cannot consider yourself a C++ software engineer, or C++ Software/Systems architect without having this book in your library, but patience and read books 1,2, and three first in that order. And wheh you do the above, and are ready to read Stroustup's book, one reminder, you must know your templates, know your templates, know your templates, also get the accompanying answer book, C++ Solutions, by Vandervoode also an Addison Wesley title.

Good Fortune.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


62 of 66 people found the following review helpful:
5.0 out of 5 stars One of the Best & Most Completed C++ Books Ever!, April 14, 2000
Amazon Verified Purchase(What's this?)
This review is from: The C++ Programming Language: Special Edition (Hardcover)
From my years of being a C++ programmer, this is definitely the one of the best reference books I've ever used. This book cover all the aspects of C++, one of the most complicated programming language, with a nice detail of everything, including STL (Standard Template Library, the C++ new standard library).

However, this book is, like all of the previous editions, NOT a language/programming tutorial. To read this book, you will need tons of C++ & OOP knowledge, even if you are an ace C programmer (since C is quite different from C++ in "The Way of Thinking"). Especially, if you are a novice, please read one or two "good" primer book before coming to this one, otherwise you will get lost easily. (Believe me, it's happened to me before when I tried to read the 2nd edition).

Moreover. In this edition, the author, Bjarne Stroustrup, added 2 more appendixes on "locales" and "standard library exception safety", which would make this book even more useful and more complete than any previous editions. And would make this become "A Bible" for C++ Programmaing Language.

If you are a "serious" C++ programmer (or wannabe), you can't get anything better than this. This is a MUST!

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


96 of 108 people found the following review helpful:
3.0 out of 5 stars An overrated, disorganized book completely unsuited as a learning text and only mildly useful as a reference, August 27, 2006
By 
This review is from: The C++ Programming Language: Special Edition (Hardcover)
Over the last two years, I have come to love the C++ language despite all its quirks and horrendous syntax. I view its primary creator and the C++ expert community with much awe . I love the STL, Boost and Blitz libraries for their elegance in design and ease of use. Considering my prior programming experience was on the uncomplicated Java platform, this is something. :-)

IMHO this book does not live up to the language. Being the recommended text, this book has had the very unfortunate effect of scaring away a lot of intelligent programmers from the C++ world. I am an intermediate programmer who had a fair command over C and Java and who had done his share in building enterprise software. Despite my best efforts, I was unable to learn C++ from this book. I struggled a couple of times and then threw this book away. Learning tensor calculus is easier than learning C++ from this book! When I did get around to having a command over C++, I found this book boring, longwinded, with very little value-add for all the reading time invested.

I am highly amused by the top-rated review given for this book which states that one must first go through the 'C++ primer', 'C++ algorithms' by Sedgewick and 'the C++ standard library' by Josuttis before attempting to study 'The C++ programming language'. The fact of the matter is that if you have gone through all of those, there is very little to learn from Stroustrup's text apart from nodding at most of the passages - you are simply better off skipping it.

Whether you are a newbie or an experienced programmer in another language/platform, there isn't much value gained in reading this book. There are better C++ texts out there. My view is that this book should have been organized better. As a learning text, there is way too much correlation between topics that the reader is yet to study and topics that the reader is struggling to learn. As a reference, there is no direct path or organization to achieve a given objective or follow a principle. Key principles and guidelines are scattered across chapters.

Here is my gameplan on how to learn C++:

- First you need to have some experience in programming. C++ as a first language is a strict no-no. Your results in C++ come after a fair degree of involvement and learning, and if you have just begun to program then you need immediate results to keep you motivated. (Unless you are an uber-geek - I am not one of those)

- You *need* to have some level of command over C. Yes, indeed you do! All that hoop-la given by various C++ faqs (including Stroustrup) about how a knowledge of C is not necessary to learn C++ is simply wrong. You may not use C features in proper, object-oriented C++, but in order to understand C++ you need to know how C works. Structures and pointers are an absolute must. In the real world, no library or application is pure C++. Everything dives into C at some point or other and you don't want to scratch your head at the time.

- Reading diverges now, depending on whether you are an experienced programmer comfortable with OO or a newbie with a modicum of programming under his/her belt. 'The C++ primer ' is a good comprehensive step-by-step book for newbies. But any experienced programmer will yawn through most of it. 'Essential C++' by Lippman is the best book out there to get up to speed with C++. You wont understand 100% of everything, but you will be able to do achieve something with the language in the correct, idiomatic way.

- Next would come 'Effective C++ and more Effective C++' by Scott Meyers. This is arguably the best C++ book written. You learn nearly 95% of all there is to idiomatic C++ and you also learn a lot on engineering and design patterns. You learn what to avoid and what to use from the language. I kissed this book. It made many things clear as daylight for me!

- At this point in time, you would be comfortable with nearly all aspects of the language apart from templates. Thats fine. No other language has anything close to C++ templates. Java Generics is a laugh compared to it. You dont need to be a template expert right now. Templates are a world of their own and are extensively covered in 'C++ templates - a complete guide'. Just read the first two parts of that book to sort out any pending comprehension issues.

- Now would come the time to get familiar with the standard library. There isn't much choice here. Nicolai Josuttis has the only modern book out (AFAIK) on the C++ standard library and its fairly readable in a linear manner.

- Coming from a Java background with its rich heritage of libraries, I found the STL unsuitable for actual development. Boost is a god-send! Boost makes your mouth water. Grab boost and go through the docs for its core libraries. shared_ptr is an absolute must! Say good-bye to painful memory management.

Nobody seems to tell you about supplementary issues like an IDE and build system. If you have Visual C++ and are on the windows platform, well and good. If not, I suggest using an IDE like KDevelop. If you are a VIMmer (like me), take the time out to learn a good build system like CMake or Scons. It takes the drudgery away and allows you to concentrate on your programming.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


57 of 67 people found the following review helpful:
5.0 out of 5 stars Best there ever will be, March 23, 2000
By 
Zachary Turner (San Francisco, CA) - See all my reviews
Amazon Verified Purchase(What's this?)
This review is from: The C++ Programming Language: Special Edition (Hardcover)
I get extremely aggravated by people who read a book like thisand say how terrible it is, how the examples are hard to understand,and how hard the code is to understand, etc etc... Blah blah blah. It's pretty obvious to an experienced programmer that these people clearly are not the target audience of the book. The target audience of this book is programmers who have a couple years of experience programming (at least in C, preferably in C++). Additionally, you must be able to understand some rather complex terminology, and some concepts that go well beyond the basics of just writing simple programs. You must also have a desire to learn the C++ language inside and out, leaving nothing whatsoever unclear about the language. If all you want is the basic syntax of the language and lots of handholding then I cannot imagine why you're even looking at a book by the creator of the language in the first place.

That said, this is a truly amazing book. You will never, ever, ever find a more in depth description of the language, it's features and caveats, and how to make the language do what you want it to do and make programming simple in large systems. When you reach a certain point it isn't as simple as "okay let's have a class with some get and set methods here". You must have a thorough understanding of some extremely advanced features, and this book will definitely get you to that point if you put in the time. The way the explanations are worded and the examples that are given are difficult to understand because there's no simple way to explain such advanced concepts. And if you are one of the people that think there _is_ an easy way to explain such concepts in the same amount of detail, I invite you to go find an easy explanation of mathematical Field Theory or Quantum Physics.

If you are smart, part of the target audience, and mature enough to handle it, I doubt you will be able to find a better book.

And for those who are still convinced that simpler is better, I wonder if you can explain to me *why* overriding a function in a derived class makes all of its overloads in the base class inaccessible.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


25 of 28 people found the following review helpful:
5.0 out of 5 stars The Best - Some clarifications, September 3, 2001
By 
This review is from: The C++ Programming Language: Special Edition (Hardcover)
I have already reviewed this book here, but i repeat myself to make some things clear concerning unfair criticism.

1) As i said you must have read some introductory book before start reading this one. But after you read this you will have finished with C++ as a language. It is the best C++ book and it makes you an expert.

2) The first 3 chapters are a quick tour of the language. When you finish these 3 chapters you are *not* expected to have understood completely what you have read. As it is mentioned, "you will understand everything in detail later".

3) To learn from this book, you must read it *sequentially*. It is not possible to see the STL implementations without having read the chapter for the templates for example. All the criticism i have seen here, is because of the fact that these people have not *read* the book as they should.

4) The book goes into *suffocating* details, it provides the language features together with their *implementations* so for someone to understand what he reads, he must have read *all* the preceding material of the page he looks at.

In summary, read this book sequentially and not randomly if you want to understand.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


28 of 32 people found the following review helpful:
3.0 out of 5 stars A must-have, yet imperfect text, December 30, 2004
By 
This review is from: The C++ Programming Language: Special Edition (Hardcover)
Anyone aspiring to be a solid C++ programmer will want this book. The text appears to be thorough, and the chapters are organized such that one can find the sections she is interested in.

In reading this book, I get the impression that Stroustrup is attempting to "clone himself" in its reasoning and explanations. This is beneficial from one standpoint -- the man is clearly brilliant, and he knows his topic as very few experts do. That said, this book is not even slightly concise and might not function well as a quick introduction or a quick reference.

By "concise", look at Appendix B: Standard Library of THE C PROGRAMMING LANGUAGE, SECOND EDITION by Brian Kernighan and Dennis Ritchie. In 18 pages, these gentlemen say almost everything that needs to be said about C's standard library. There are no examples, and there is very little discussion.

The C++ standard library does immensely more than the C standard library, and the concepts are far more complex. I can't expect Stroustrup to address everything in 18 pages, yet I believe he can be a lot more "to the point" than he is in his book (or at least a portion thereof).

I also find numerous places where I question Stroustrup's advice and generalizations, but I find no fault in the fact his views and mine differ sharply in places. Anyone who understands what Stroustrup is saying will be able to agree or disagree for herself.

An immense plus for this text is its completeness. I once faced a C++ examination after having studied a Microsoft Press textbook which said it covered C++, but in fact left enormous sections on the language untouched (e.g., templates were not mentioned). My score reflected the gaps in that textbook. By contrast, an examination in C taken the same day placed my score in the top 1% of the United States -- and the only book I read was the aforementioned Kernighan & Ritchie.

If you already know some C++, and you want to REALLY know C++, and you want to do this in a single book (you'll have to read it more than once), I think that Stroustrup's is the one for you to read.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


31 of 36 people found the following review helpful:
3.0 out of 5 stars You can't live with it and you can't live without it., October 26, 2002
This review is from: The C++ Programming Language: Special Edition (Hardcover)
"The C++ Programming Language" is a book about the C++ language written by the inventor of the language. As a result the book becomes an authoritative guide to the C++ language (except for the ISO C++ standard, but that is almost incomprehendable). So when you discuss a C++ language issue with a friend or collegue this book can help you settle that discussion. So for that reason alone this book should be on the bookshelf of any serious C++ programmer.

That said, this book is no tutorial, although it attempts to be one. It is not very well written and can be hard to navigate at times. You should think of it as an annotated version of the standard - not a book to learn C++ from. So if you are not a proficient C++ programmer you should not attempt to read this book; you won't be able to understand most of it. For a tutorial I instead recommend Stephen Prata: C++ Primer Plus.

Also, the book gives a series of programming and design advice. Some which are not generally recognized as good ideas. For example he recommends the use of the constant 0 directly instead of using NULL for null-pointers. So these advices should be read with some skepticism. For good programming advice I recommend Scott Meyers: Effective C++.

So in the end I look at this book with mixed feelings. You can't live with it but can't live without it either.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


12 of 12 people found the following review helpful:
5.0 out of 5 stars definitive guide to the language, but not for beginners, July 16, 2000
This review is from: The C++ Programming Language: Special Edition (Hardcover)
As a language reference, I highly recommend this book. Every language feature is explained, with illustrative code snippets. Aside from the section on the standard library, this book improves on the previous edition by incorporating more material on designing using C++. This is significant because a major stumbling block to using C++ well is knowing when and where to use a language feature.

Another major improvement is the section on 'advice' which can be found at the end of every chapter. This portion summarizes what the chapter was trying to teach, with pointers to the relevant part of the book.

As a tutorial for the beginner, I suggest you look elsewhere. The book is not easy to read, since the author tries to explain so much in so little space (if you can call 900 pages 'little').

You will probably read this book more than TWICE. First, to simply try out the language on your compiler (sit in front of your computer when you do). Second, to digest the material on designing using C++ (try doing this away from your computer). Third, to see if you missed out anything significant. You will.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


22 of 25 people found the following review helpful:
3.0 out of 5 stars A good book for advanced programmers, but slightly unfocused, December 4, 2006
By 
Thaddeus Black (Blacksburg, VA USA) - See all my reviews
(REAL NAME)   
This review is from: The C++ Programming Language: Special Edition (Hardcover)
The good: The author is the inventor of C++ and a top C++ expert, who concisely integrates numerous subtle yet important points of the language into his presentation. The book is both accurate and thorough.

The bad: The book lacks a single clear purpose. Is the book's purpose to teach C++? To document and/or describe the language? To give examples of its use? To explain relevant software design methodologies? The book does not succeed well at any of these. No iron law of style absolutely requires a book to serve a single role only, but a book ought to serve at least one role well. This book, whose presentation is uneven and slightly disorganized, serves no role with distinction in my view.

I have owned this book four years, during which time I have read most of it -- and have read much of it several times (my copy's binding begins to fall apart through overuse). It is an interesting, informative, useful book, and I do not regret the many hours I have spent studying it. However, the author makes the reader's task much harder than he should have done. He loves extended, overgrown examples too well; and he refers forward far, far too often. To understand the book, you almost need to know C++ already, which in an important respect defeats the book's own purpose.

The book offers many exercises for the student to try at each chapter's end. The exercises are not especially well chosen, but that should not stop you from buying the book (one can simply ignore the exercises, after all). Just before the exercises in each chapter the author includes a much more useful Advice section, brief and wise.

The author teaches the language without ever clearly discussing the highly system-dependent topics of symbol exporting and object linking. This is an understandable error, but an error nevertheless in my view. Stroustrup, who seems to be aware of the problem but reluctant to confront it, tries to cover the problem by stressing C++'s unnecessarily confusing "one-definition rule" and offering cryptic suggestions for the composition of header files. He should have saved the reader substantial perplexity had he simply let the book discuss linking outright. One of the main attractions of C++ is that, like its predecessor C, it plays well with the linker. Without this dimension, C++'s rationale (over Python, for example, or Java) and its robust, ecumenical philosophy are hard to grasp.

One wishes that the publisher had bound the book a bit more sturdily. The book is slightly too heavy for its binding, as you will discover after you have owned it a few years. Also, the typesetting leaves something to be desired; the margins are too narrow and the lines of text, too long. The author's prose style is less clear and much less concise than Kernighan's and Ritchie's in their great book, The C Programming Language. However, the style is clear enough and is tolerably readable overall.

Whether to score the book three or four stars is hard to decide. I certainly could not have written so good a book on C++; the sheer scope of the author's effort is monumental, and C++ is not an easy topic on which to write in any case. However, the book's own preface states the book's mission thusly: "This book is primarily intended to help serious programmers learn the language and use it for nontrivial projects." And on the first page of Chapter 1: "Chapters 4 through 9 provide a tutorial introduction to C++'s built-in types and the basic facilities for constructing programs out of them... Chapters 10 through 15 are a tutorial introduction to object-oriented and generic programming using C++." Well, no. If you scroll through the many four- and five-star reviews below (most of which I agree with, excepting the number of stars), you will see one refrain recurring again and again: the book is a reference book, not a tutorial. The only people who seem confused about this are the author and the publisher. This factor, when added upon the several other factors discussed above, nudges the book back over the edge from four-star into three-star territory in my view.

Four years after buying the book, I appreciate it now better than ever. To me personally, it is a four- or five-star book, but that is not a reasonable standard on which to rate the book here. Four years ago when I first bought it, to me it was a two-star book. Unless you already know C++ well, your experience seems likely to resemble mine. C++ is inherently hard, but all the more so does it demand uncompromising excellence in this, its flagship book. My overall recommendation for this book therefore must fall in the neutral to slightly positive range. One can learn C++ from this book alone but it is unnecessarily hard to do so. As a reference, the book sprawls unappealingly but is quite complete. The book fails to discuss linking cogently, but scatters enough clues that the determined reader can figure the linker out on his own. Whether you buy this book depends on whether you think that you need what it offers, because in many ways the book is impressive, and it certainly is useful. The book is not, however, pleasant to read; so, let the buyer beware.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


26 of 31 people found the following review helpful:
4.0 out of 5 stars Amazing Content, Questionable Writing, January 27, 2004
By 
V. Natarajan (Pittsburgh, PA United States) - See all my reviews
(REAL NAME)   
This review is from: The C++ Programming Language: Special Edition (Hardcover)
Stroustrup clearly shows that his expertise is in computing and not in writing with this book. If you comprehend everything that is in this book, you will definitely have an unbelieveable knowledge of this language. This book *might* work for a beginner to C++ but has significant expertise in other programming languages, but is certainly too advanced for a person that is new to programming altogether. His writing style leaves something to be desired. Stroustrup sometimes phrases ideas an an unnecessarily obscure/long-winded manner when concise wording is available. Sometimes his choice of adjectives/adverbs is questionable. This book can benefit from the input of someone with more expertise in writing. To his credit, I have yet to find anything actually *wrong* in this book, so at least the book is well-proofread (which, unfortunately, is not true for all C++ books....)

However, his writing flaws are nothing that cannot be overcome by a technically competent reader with a reasonable amount of diligence, and I strongly recommend this book for someone looking to take their C++ skills to the next level.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


‹ Previous | 1 211| Next ›
Most Helpful First | Newest First

This product

The C++ Programming Language: Special Edition
The C++ Programming Language: Special Edition by Bjarne Stroustrup (Hardcover - February 11, 2000)
$89.99 $61.37
In Stock
Add to cart Add to wishlist