|
|||||||||||||||||||||||||||||||||||
|
14 Reviews
|
Average Customer Review
Share your thoughts with other customers
Create your own review
|
|
Most Helpful First | Newest First
|
|
54 of 57 people found the following review helpful:
1.0 out of 5 stars
Only for extreme novice C++ programmers,
By A Customer
This review is from: How Not to Program in C++: 111 Broken Programs and 3 Working Ones, or Why Does 2+2=5986 (Paperback)
The concept of this book is good, but the execution is seriously lacking. The "bugs" in Mr.Oualline's programs are the kinds of errors only the most unskilled novices would make: a missing space character in a format statement; accessing a 5-element array with index values of 1 thru 5; a class whose constructor allocates storage but whose destructor doesn't release the memory. Trivial, easy-to-spot errors that don't really expand anyone's grasp of C++. To add insult to injury, large portions of the book are filled with Mr.Oualline's tiresome war stories and aphorisms. A much better source of knowledge is "C++ Gotchas", any of Scott Meyers' books, or the "C++ FAQ".
14 of 15 people found the following review helpful:
5.0 out of 5 stars
Just Plain Fun!!!,
By
This review is from: How Not to Program in C++: 111 Broken Programs and 3 Working Ones, or Why Does 2+2=5986 (Paperback)
Okay, maybe I should say, just plain fun in a geeky kind of way. This book is relatively inexpensive, thus making it well worth the price. If you programm in C++ (or even in C, C#, or Java), then you will most likely enjoy this book. Unlike most computer books, this is not a book you read in order to learn how to to something. Rather, this is a book you read (1) to see if you already know how to do something, (2) if you like solving puzzles, (3) if you want to learn about a number of typical 'gotchas'. This book presents listings (about 111+). Each seems to have something specifically wrong with it. You try to figure out the issue with a hint. You are can then get additional hints using a jump table. You are also given the answer as to what the gotcha is. The book also contains a large number of trivia type information. This is folklore, funny stories, and more. This is a book that I find myself picking up over and over to read just a little farther. It is fun. It is interesting. I'm even learning a thing or two. I've enjoyed it so much, I'll be writing a review on it for CodeGuru.com! Congratulations to Steve Oualline on putting together one of the few fun-to-read computers books.
10 of 11 people found the following review helpful:
3.0 out of 5 stars
unpolished,
By David Minogue (San Francisco, CA United States) - See all my reviews
This review is from: How Not to Program in C++: 111 Broken Programs and 3 Working Ones, or Why Does 2+2=5986 (Paperback)
This book illustrates several common errors that every C++ programmers will encounter. There is no substitute for learning from your own mistakes, but forewarned is forearmed. If you read this book before you make the mistakes, you will save yourself some time. The humor scattered through the book helps keep the subject light.Unfortunately, the book is flawed beyond those bugs which were introduced intentionally. In one case a program was unintentionally corrected, leaving no errors to be found. Some of the programs seem unnecessarily long for the bug they are illustrating. Like most computer programs, this book would have benefitted from peer review prior to its release.
6 of 6 people found the following review helpful:
4.0 out of 5 stars
Good refresher of C++,
By
This review is from: How Not to Program in C++: 111 Broken Programs and 3 Working Ones, or Why Does 2+2=5986 (Paperback)
Are you the type of programmer who also likes logic puzzles, or chess problems and crosswords in newspapers? Did you ace the logic part of an SAT or GRE exam? Then this book is for you!You are learning C++. Or perhaps you need a refresher. You may not be facile with all the nuances. Learn by doing. The book has 111 programs that don't quite work. All you need is enough discipline to work through the programs without peeking at the answers until you have give it your best try. The book assumes that you are already mostly familiar with the syntax of C++. While some programs explore the subtleties of this, the author expects that you can at least code a simple C++ task. The programs are not antipatterns, though. I could not discern any higher level structure across the programs to suggest this. Perhaps the best way to regard this book is as a cheap refresher exam. Mental stretching exercises.
2 of 2 people found the following review helpful:
2.0 out of 5 stars
Puzzle book for the "my teletype has both colors, black and white" crowd.,
By Yaverot (spring of drowned cabbit) - See all my reviews
Amazon Verified Purchase(What's this?)
This review is from: How Not to Program in C++: 111 Broken Programs and 3 Working Ones, or Why Does 2+2=5986 (Paperback)
I am not a C++ expert by any means, but whoever titled this book didn't attempt to read it.
And I may be completely unfair, I am reviewing a computer book 7 _years_ after publication. The title clearly indicates a book, where a sample program is given, and then an explanation of how and why it is wrong, and finally how to avoid those mistakes. Instead, you're given a program listing (in standard black&white like most books instead of the color highlighted of a modern editor or IDE), and basically told there is a problem within the category of the chapter. Then it gives a hint & answer number (but not the page number those items reside on). Occasionally in the hints you receive the output of the program. A programming puzzle book of this nature could be quite interesting, but if that is the goal, mark it as a puzzle book and give it a difficulty rating. Some of the problems with this book include the fact that the publisher's spellcheck fixed the bug on page 30, so that there is none to find. Page 32 would be clear from syntax highlighting (and has needless use of pointers and alters comment style part-way though so that the 'broken' one will compile). Chapter 5 is about C, not C++, while much C appears in C++ the book is about the later, not the former. Many of the bugs come from ignoring basic features of the language or coding idioms. In C++ you avoid the preprocessor as much as possible because C++ gives you language tools (templates to replace macros, global consts to avoid #DEFINEs). The book avoids const correctness and RAII. So, what is good about the book? The humor posted between the puzzles, including indicating what of the story is folklore. "This page left unintentionally blank." 'BASIC programmer: if I type WALK will it go slower?' Given the Marketplace price (instead of Amazon's new) it could be a 5 star computer humor book, with a bunch of other junk also in it, if you have that mindset when you pick it up.
2 of 2 people found the following review helpful:
2.0 out of 5 stars
Nice examples, but poor editing,
By
This review is from: How Not to Program in C++: 111 Broken Programs and 3 Working Ones, or Why Does 2+2=5986 (Paperback)
I have not read the whole book yet, but I'm only on page 24 and I saw enough errors to make a review. I like the examples in this book (as a novice C++ programmer), but some of these errors I've seen would make the program error out at compile time.
For example, in Programs 2 & 3 in the book, the author wrote: return (o); // Now that's the LETTER 'o', not ZERO like it should be At first I was like, "Alright! That's an easy one." But when I checked the answer, that was not the error the author was looking for. In Program 3, the function "matrix_multiply" parameters are: int result[3][3], // Okay so far int matrixl[3][3], // Notice it is 'matrix' and the LETTER 'l', not ONE int matrix2[3][3] And inside the function they use "matrix1" instead of the defined "matrixl". This is one of the errors I thought it might be, but once again, it was not the error the author was looking for. Maybe I'm being a bit harsh, but if you're going to write a book on how to NOT code (but provide the solutions), you should have another programmer review the code, not a regular editor who doesn't know any better. Or at least mention these 'extra credit' errors that I, a novice, found. Speaking of which, I'm really surprised nobody else has mentioned this. All-in-all, great intent, but they should have reviewed the code a little better.
1 of 1 people found the following review helpful:
4.0 out of 5 stars
Interesting Read,
By
This review is from: How Not to Program in C++: 111 Broken Programs and 3 Working Ones, or Why Does 2+2=5986 (Paperback)
I throughly enjoyed this book. I ran across programs and source code that made me scratch my head trying to figure what the heck is wrong with it, only to find a minor little syntax error. The book is written in a laid back comical approach with lots of code sample, and lots of funny tidbits, theorem and true stories about tech support calls.
A very nice walk down memory lane, reminding all of us of our humble beginnings and the noobish mistakes we once made.
1 of 1 people found the following review helpful:
5.0 out of 5 stars
Good Book, But Know Thyself First,
By
Amazon Verified Purchase(What's this?)
This review is from: How Not to Program in C++: 111 Broken Programs and 3 Working Ones, or Why Does 2+2=5986 (Paperback)
I enjoy this book, and recommend it. However, to get the most from the book, the reader should know themselves and their C++ level before reading it.
For the novice programmer, this is probably a useful expenditure of time and money. Many of the bugs will be over the head of the novice or student reader. But, perhaps even years into the future, when they first encounter a problem previously seen in this book, they may recognize and fix it much more quickly. For the experienced programmer, the book is more amusing than educational, but there are still some good challenges. If one expects that every page will present a new puzzle, they will be disappointed, but there are enough challenges to make the book worthwhile. Finally, for the teacher, this book has some problems which are simple enough to use for a C++ class. For example, I use number 10 in my C++ course - boiled down to its essentials, it's: float A; A = 1/3; cout << A; ...a mistake which experienced C++ programmers still make occasionally. The organization of the book includes randomized hints in a separate section, so that one can read the hint for problem 23 without seeing the hint for problem 24. The answers are similarly organized. While not straightforward, it does make one work at the solution. I prefer this organization to the other two competing books I own, Andrew Koenig's "C Traps and Pitfalls" and Alan Feuer's "The C Puzzle Book". A prospective buyer can see some sample problems at the publisher's web site, and this brings me to one drawback: no source code. Some of the problems are fairly long, and an archive of source to avoid re-typing would be welcome, if only to me. So...before buying this book, know thyself and set your expectations accordingly. Each of the other reviews makes valid points, depending upon the reviewer's experience level and expectations. I personally rate this book five stars.
3 of 4 people found the following review helpful:
5.0 out of 5 stars
Great tool to get back at it.,
By
Amazon Verified Purchase(What's this?)
This review is from: How Not to Program in C++: 111 Broken Programs and 3 Working Ones, or Why Does 2+2=5986 (Paperback)
With the advent of good scientific tools like MatLab and MathCAD, I quit programming with an R&D project in C++ about 12 years ago as I was kicked out of the trenches into a higher level. Like any language skill, computer language skills are best learned by immersion. I have some reasons to get back in the game and ordered this this to immerse me into C++ without having to start with a 'Hello World' program. Of course, the author started with a 'Hellow World' program.
It is the first technical book, in a long time, that I find difficult to put down. You may want to demote it one star, if you like sleep.
4.0 out of 5 stars
A number of good puzzles,
By
This review is from: How Not to Program in C++: 111 Broken Programs and 3 Working Ones, or Why Does 2+2=5986 (Paperback)
This book contains a bunch of counterexamples of proper C++ programs. The programs contain bugs ranging from novice-level to truly arcane. While some of the "puzzles" were quite easy, others involved parts of the C++ language that I hadn't used before, and I learned quite a bit from these.
Overall, it was a good book to pick up for a couple of minutes at a time while waiting for code to build. |
|
Most Helpful First | Newest First
|
|
How Not to Program in C++: 111 Broken Programs and 3 Working Ones, or Why Does 2+2=5986 by Steve Oualline (Paperback - Mar. 2003)
$24.95 $18.27
In Stock | ||