|
|
The C++ Programming Language: Special Edition (3rd Edition)Customer Rating: ![]() ![]() ![]() ![]() Total Reviews: 279 Best Offer: $46.50 By Supplier: technicalbooksource Availability: Usually ships in 1-2 business days
Feedback
|
Description/Reviews
|
Offers
![]() ![]() ![]() ![]() The C++ Programming Language (3rd Edition)
This book is very dense, but has a lot of the granularity necessary to understand the C++ language. The book is written in a way that assumes you have familiarity with C++, so the exercises are challenging to the novice. All in all, this book was a great book to add to my C++ reference library. 2007-02-28
![]() ![]() ![]() ![]() There are better C++ books
I agree with the reviewer that this should be the last C++ book you read. Most C++ programmers recommend this book because they just want to brag how knowledgable they are on C++. what I believe is that the most knowledgable person on C++ (Stroustrup) may not be the person who can write technical books best. Of course it can help you better understand C++ by geting some insight of how the compiler works. But he topics are
unfocused and the book is very difficult to follow. As a computer science professor and also as a C/C++ user for 10+ years, I would like to mention that the original design of "C++" was flawed in many aspects, and the burdens are still on the shoulders of C++ programmers, now and for many years to come. Although Stroustrup deserves the credit, but he is also responsible for the flaws in the language. Let me mention some sample flaws in the original C++ design: (1) Multiple inheritance. This should never be introduced in C++. It complicates instead of alleviates programming tasks. That's why it is called "Goto in 1990's". If you ever used multiple inheritance or tried to use multiple inheritance, you know what I mean. (2) Structure vs Class. In the Stroustrup's C++, class and structure have no difference except structure defaults to public and class defaults to private. Only because Stroustrup likes the key word "class" very much so he introduced that in C++. However, it is not necessary to introduce a new key word at all. (3) Pass by value should never be allowed for class instances in C++. It makes copy-constructor very complicated and error-prone. If the C++ was designed well at the first place, there would never be a JAVA. JAVA succeeds where C++ fails, although JAVA can never replace C++. 2007-02-17
![]() ![]() ![]() ![]() A good book for advanced programmers, but slightly unfocused
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. 2006-12-04
![]() ![]() ![]() ![]() The best C++ book!
Excellent book. You need some feedback before you read it, but this book is complete and good reference. 2006-09-16
![]() ![]() ![]() ![]() Indispensable great book
The reading is tedious, and in my opinion he does not cover some concepts thoroughly, such as casting. On the other hand, it is "The" C++ reference, although it isn't perfect. 2006-09-12
| |
Artistic Poster - Art of Posters - A to Z Posters - Bar and Pub - Concert Tee - Golf Links List - Information for Small Business - MagnetaMart
Saving on the Net - Shirt Rock - Us Art Co. - US Data Co. - US Baby Co. - US Book Co. - US Camera Co. - US Camp Co. - US Cycling Co. US Download Co.- US DVD Co. - Gems - US Grill Co. - US Grocery Co. - Fresh Flowers - US Kitchen Co. - US MP3 Co. - US Music Co. US Tea Co. - US Textbook Co. - Bible Verses - US Truck Co. - Yoga DVDs and Yoga Accessories - Web Hosting | ||

