|
|||||||||||||||||||||||||||||||||||
|
39 Reviews
|
Average Customer Review
Share your thoughts with other customers
Create your own review
|
|
Most Helpful First | Newest First
|
|
48 of 49 people found the following review helpful:
4.0 out of 5 stars
One of the few that shows how to use C++ exceptions,
By
This review is from: Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (Paperback)
As a professional programmer I find the Guru of the Week questions annoying, because they usually point out that I don't know some dang thing about C++. (I don't know too many people who appreciate being pointed out how dumb they are weekly.) Then someone who appears to have nothing better to do than solve C++ puzzles jumps in with a 6 page submission on how to solve the problem, which is usually wrong. Then six more self appointed guru's jump in and fill pages of discussion, Then after filling my head with all the wrong answers to a particular problem, Herb smuggly answers the question with the real answer. Anoints another guru and the process repeats. In the meantime I've lost total interest in the discussion. Thank you for Deja news where I can read the first and last postings(The puzzle and the solution).That said, this book is full of those got ya! puzzles. Fortunately Herb is a kind writer and you don't feel too dumb when he points out why a particular puzzle has a problem and what it is. And like Deja news you can skip all the wrong answers, arguments about the arcane and get right to the meat of the problem. Herb also got a chance to make the puzzles more clear, where the language of the original puzzle confused the issue unnecessarily. The best reason to buy this book is that its the only published text so far on how to use C++ Exceptions. There are some articles in C++ Report but not many on the traps and pitfalls of their usage. Stroustrup's book "C++ Programming Language" tells you how the mechanism works, and makes some suggestions. Herb tells you what it will cost you if you don't use them, only partially use them, or totally abuse them. And he shows you how a minor misuse can make you have major problems. I can see why Scott Meyers likes this book. Its just like his books, "Effective C++" series only the format is not in a lecture topic but in a question/puzzle answer format. I prefer the Meyer's approach but you can still glean the necessary information, and while you are reading the answers to the puzzles, say to yourself "Yeah I knew that!" One other reason to buy this book, you can use these puzzles as tests for interviews. First, it will help you know the skill level of the applicant, Second it will teach you something you probably should have known anyway, Thirdly if they get the answers right off it will tell you that the applicants at least read the texts and are trying to stay on top of things. This is not to say you should make applicants take an all day C++ grammer test but by asking a few puzzle questions you can see how they react under a bit of pressure. After all at some point everyone comes up against a problem they haven't seen.
30 of 30 people found the following review helpful:
5.0 out of 5 stars
Highly informative, even for veteran C++ programmers,
By
This review is from: Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (Paperback)
I've been programming in C++ for 12 years, and this is the first C++ book I've read in awhile that I learned significantly from. The section on exception safety is unmatched in any book or article I've ever read. The style and format of this book make it easy to read, even though some of the concepts it covers are very advanced. After you read this book, put it somewhere handy, because I guarantee you will refer to it often as you go back and fix your code to take into account all the new things the book teaches you.
47 of 50 people found the following review helpful:
5.0 out of 5 stars
Exceptional problems, exceptional solutions,
By Charles Ashbacher (Marion, Iowa United States) - See all my reviews (TOP 500 REVIEWER) (VINE VOICE) (HALL OF FAME REVIEWER)
This review is from: Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (Paperback)
In learning computing, the most prized element is a relevant problem with a detailed, understandable solution. Many studies have indicated that the skills gap between those who program adequately and those who are exceptional is enormous. Unlike some other areas, the gurus of computing are more often than not quite willing to share their expertise with others. This collection of problems, derived from the C++ Guru of the Week newsgroup, collectively form one of the most valuable sources of real insight into the language. C++ is often criticized as being a language that is full of potential problems of the "gotcha" variety. A "gotcha" problem is one where a seemingly logical choice can lead to a disaster. Many of these problems can be placed in that category, but to focus on that would miss much of what they can teach you. The most significant point of the problems is that they teach you how to program many complex tasks in a manner that is truly safe from potential errors. All of the problems are tagged with a level of difficulty, although like most people, I consider that to be of dubious benefit, as there is an enormous difference in what programmers find difficult. In my opinion, the most valuable section of the book is the ten parts dealing with the creation of exception-safe code. While some do have trouble with it, most people find it easy to understand the fundamentals of what exceptions are. However, writing code that is safe from the unexpected consequences of a thrown exception is a decidedly non-trivial problem. Especially when the new and delete operators can throw an exception. The sections that deal with making new and delete exception-safe alone justify the purchase of the book. When asked questions as to how they managed to reach their guru status, a common response is that they simply use coded solutions written by others that are known to be correct. If that were all it took to reach the level of guru, then this book would be a significant rung on the ladder to that pinnacle.
26 of 26 people found the following review helpful:
5.0 out of 5 stars
Broad and Deep,
By David Vandevoorde (Belmont, CA, USA) - See all my reviews
This review is from: Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (Paperback)
Gosh, this is a nice book.It is based on Herb's "Guru of the Week" column in the comp.lang.c++.moderated Usenet forum: nontrivial C++ issues presented as questions around one or a few code fragments. The electronic column was popular from its inception, but the book raises the quality of the discussion to new heights. A fair number of problems covering a very diverse range of topics (physical code organization, exception safety, const correctness, etc.) are treated in much depth. The focus appears to be mainly on pitfalls to avoid, and how to avoid them, though various creative C++ programming techniques are also taught. As a result, the book contains many "recommended practices", that are nicely emphasized using boxes and icons. The discussion is generally up to date with the C++ standard, and some fluency in C++ is required to get the most out of this book. However, the details of how things work are expounded with sufficient detail and clarity that you don't need to be a "Guru of a Week" to understand the issues in their entirety. Despite the considerable breadth and depth of the volume, it weighs in at only about 200 pages: a welcome break from the giant C++ tutorials (this is not a tutorial, mind you!). Herb's technical writing style is lucid, and the typography/layout is actually attractive.
20 of 20 people found the following review helpful:
5.0 out of 5 stars
Industrial Strength C++'ing,
This review is from: Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (Paperback)
Herb Sutter is well known in the C++ programming community for his attention to detail, sound software engineering principles and solid coding techniques. This book gather together in one place an extension of his "Guru of the Week" work that has appeared in comp.lang.c++.moderated for the past few years.What leaped out to me while he did the "guru's" all these years is how much thought he put into them. Now imagine that he revisits them for an additional sharpening! Furthermore, he writes clearly, consisely, and to the point. Herb's writing skill and C++ knowledge, combo'd with C++'s maturity, is really having your cake and eating it too. Programming/design/etc., in/with any language is hard, complex, and challenging. There is no place for haste and never a substitute for thinking. Sutters slaps this in our faces, as a needed wake up call. It is rare for me to recommend a book. But "Exceptional C++" challenges your problem solving skills to a new dimension. This is not just the kind of book that I label "industrial strength", but it's what I call an "expert book", a book I've been waiting for since 1985! Yipee! Get ready for many plainly stated guidelines, insights, portability issues, techniques, and coding idioms. It's easy to see "Exceptional C++" becoming a new classic as it covers topics such as exception handling, templates, class design, inheritance, and memory management. It's all there.
15 of 15 people found the following review helpful:
5.0 out of 5 stars
A lot of hours of C++ learning.,
By
Amazon Verified Purchase(What's this?)
This review is from: Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (Paperback)
This is by far one of the best books on C++ I've ever bought. I am not going to claim that I've read this because this is not a book you 'read' before going to sleep. Even if you consider yourself a C++ guru, you really need to go spend a lot of time on each exercise - if you want to ace them, that's it. If you aren't a C++ expert but at least can find your way, make sure you have Stroustroup's on your table when you get to this. Try to answer every question on this book with the help of Stroustroup's. You will learn *a lot* from the experience, and have a lot of fun, too. Also, if you run everything you do by your compiler, you will find compiler bugs, which for me is a plus because saves time in the long run. As for the exercises themselves, all of them, without exception, are worth every penny. Not a single one has an obvious answer (a perfect one - sure you can give some decent if you know C++ well), and from all of them you will learn something valuable. Finally, a quick list of the topics, since Amazon.com doesn't have one online at this time: Generic Programming and the C++ Standard Library. Exception-Safety Issues and Techniques. Class Design and Inheritance. Compiler Firewalls and the Pimpl Idiom. Name Lookup, Namespaces and the Interface Principle. Memory Management. Traps, Pitfalls and Anti-Idioms. Miscellaneous Topic. Each of the topic has 4-7 subtopics, each of them with a few exercises. Don't miss this book.
14 of 14 people found the following review helpful:
5.0 out of 5 stars
An Exceptional C++ Book,
By
This review is from: Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (Paperback)
This book is a very valuable addition to any intermediate or advanced C++ programmer's library. The organization is similar to Scott Meyers' very good "Effective C++" books in that they are organized into brief "items" dealing with specific problems that C++ software developers face. The items are helpfully grouped into sections on generic programming and the C++ standard library, exception safety, memory management, etc. Beyond that its hard to compare this book with Meyers' books; they are complementary in many ways. But I think the "Exceptional C++" books have some advantages over Meyers' books: Each of the items begin with a puzzle to solve. This gets the reader more actively involved in the subject matter and brings it into sharper focus (Meyers tends to lose your focus by rambling a bit). Once you've had a chance to think about the presented problem, there is a clear and concise explanation of both the problem and a well considered solution. Each explanation is highlighted by concise "guidelines" and "common mistake" statements. (I wish these were summarized and indexed in one place for quick reference.) The emphasis is on writing clear, simple, reliable code; not on clever solutions to tricky problems. This book is a distillation of discussions that took place in the "Guru of the Week" Internet forum and so is a product of the thinking and experience of many exceptional minds. "Exceptional C++" will help any serious C++ programmer toward better code design. It's well worth the time to read it.
14 of 14 people found the following review helpful:
5.0 out of 5 stars
Simply exceptional!,
By
This review is from: Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (Paperback)
I just received the book and ended up reading it in a single sitting. Outstanding! This book is is a veritable treasure trove of tips, tricks, gotchas, and very solid design advice. You need to know C++ fairly well to follow all the subtleties but if you meet this prerequisite, you will find yourself referring to this book time and time again. The sections on exception safety are particularly valuable. Highly recommended!
8 of 8 people found the following review helpful:
5.0 out of 5 stars
An excellent addition to my C++ library,
By
This review is from: Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (Paperback)
Are you sure that you know how to write exception safe code? How good are you at the details of writing classes? How well do you know C++ memory management?You will find many interesting, if not surprising, answers to these and other questions in "Exceptional C++" even if you have years of C++ experience. If not, maybe you should consider writing your own book. The book is thorough and fresh. Some solutions are not an easy read (although the author has succeeded in making the book reasonably entertaining), but digging through them is a very satisfying experience. In the hierarchy of the quality C++ reading, this book will find its place next to Sroustrup's "The C++ Programming Language" and Scott Meyers' books. The book is NOT for a C++ novice, but rather for a mature developer who strives to excel in C++ design and coding styles. It focuses on the complexities and subtleties of using template libraries, C++ language itself, and the elements of good design. The book is written in the problem-solution style to illustrate many of not so obvious questions. As the author dives deeper in each solution, he delivers along the way very concise and useful programming tips. This book is an excellent and very satisfying read!
7 of 7 people found the following review helpful:
5.0 out of 5 stars
Fantastic Book From An Expert,
This review is from: Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions (Paperback)
This is an excellent advanced text on C++. If you have the Meyers books down cold, this is the next stop in your C++ journey. This book is in a similar format to the Meyers books with sections and items; however, Sutter takes a different approach. He presents you with a C++ puzzle at the beginning of the item. You have a chance to come up with your answer and then compare it to the author's. Some of the items make up a logical series, but beyond that they can be read in any order.As for the content, this is good stuff. My favorite is Item 21 on Overriding Virtual Functions. The contrast that Sutter reveals between the static binding of default parameters versus dynamic binding of virtual functions shows how you can get yourself in trouble and write code that is truly unfriendly. Other items deal with using the STL, exception safety, compilers, namespaces, and much more. I don't recommend trying to read this in one sitting unless you are on the same level as Meyers, Coplien, or Stroustrup. The book looks small, but the amount of information is not proportional to the number of pages. |
|
Most Helpful First | Newest First
|
|
Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions by Herb Sutter (Paperback - November 28, 1999)
$49.99 $34.24
In Stock | ||