Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

  • Apple
  • Android
  • Windows Phone
  • Android

To get the free app, enter your mobile phone number.

Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Enough Rope to Shoot Yourself in the Foot: Rules for C and C++ Programming (Unix/C) Paperback – September, 1995

3.6 out of 5 stars 13 customer reviews

See all 3 formats and editions Hide other formats and editions
New from Used from
"Please retry"
$67.98 $0.01

Windows 10 For Dummies Video Training
Get up to speed with Windows 10 with this video training course from For Dummies. Learn more.
click to open popover

Editorial Reviews


Like other language guidebooks before it, Enough Rope to Shoot Yourself in the Foot is set up as a series of numbered guidelines or rules for better programming. It covers both C and C++, and delivers the booty from Holub's ongoing battle with these important languages.

The material in the book is about evenly divided between C and C++. Each section dispenses general design and programming philosophy, followed by more specific programming information (about specific language features). The advice about general programming and design is the best thing in a very good book; the rules are relevant to any programming language, are sensible, and have enduring value: "If you can't say it in English, you can't say it in C/C++." "A problem must be thought through before it can be solved."

Many of the tips in this book fall into the areas of "programming style" and "subtle interactions." Holub suspects that many programmers are out there writing buggy C++ code: Either they're using language features they don't really understand or they don't take the time to do a real object-oriented design. This puts them in danger of writing "unmaintainable gobbledygook." He doesn't believe in using C++ as a better C. If you're going to use C++, use it whole hog and do good object-oriented design. "If it's not object- oriented, use C," he says...Read more from this review. --Doug Nickerson, Dr. Dobb's Journal -- Dr. Dobb's Journal


The latest book club pick from Oprah
"The Underground Railroad" by Colson Whitehead is a magnificent novel chronicling a young slave's adventures as she makes a desperate bid for freedom in the antebellum South. See more

Product Details

  • Series: Unix/C
  • Paperback: 186 pages
  • Publisher: Computing Mcgraw-Hill (September 1995)
  • Language: English
  • ISBN-10: 0070296898
  • ISBN-13: 978-0070296893
  • Product Dimensions: 0.8 x 7.5 x 9 inches
  • Shipping Weight: 12.8 ounces
  • Average Customer Review: 3.6 out of 5 stars  See all reviews (13 customer reviews)
  • Amazon Best Sellers Rank: #1,436,485 in Books (See Top 100 in Books)

Customer Reviews

Top Customer Reviews

By Anton L. Anderson on January 26, 2007
Format: Paperback Verified Purchase
I almost passed on this book because of some of the negative reviews.

Okay, it is no Code Complete, but this book is an absolute gem. I have been programming C++ for about 6 years now (VB users be darned, it is my favorite programming language, period) and I was amazed how much I agreed with this author's advice.

Yeah, I learned a lot from Scott Meyers' canonical "Effective" books. But what I like about this book is that it is a no-nonsense, in-your-face, tell-it-like-it-is book that I think is essential for those wet-behind-the-ears C++ programmers (or those whiners who claim that C++ is too hard).

It will probably piss off a lot of Windows programmers as well as he is somewhat anti-Microsoft. However, I am primarily a MFC programmer and

what he says about MFC (earlier editions) and Windows programming in general is absolutely correct.

This book is a must for every novice C/C++ programmer. The experienced C/C++ programmers will probably tell you that they know all about this, so most of them will give it a pass. However, as a experienced C++ programmer, I think that they are making a mistake. They need to get this book on the shelf as well.

At the very least they can loan it to the beginners.
Comment 19 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
I have very much enjoyed reading this book. I found Mr. Holub's style engaging and entertaining. A lot of the other reviewers disliked his style, but I liked his content & was not offended, except when he expressed negative opinions about Math grads (I'm one). The table of contents serves as a list of all his rules -- very useful. There are a few typos in the book, so you have to know C++ to catch them. E.g., on p.119 the keyword "inline" is missing in 2 spots. If you do what the book literally showed, you'd have problems. I checked. I removed the inline keyword from a function declaration in the class and the function definition in the header, below the class definition. It compiled, but when I tried linking an application to this library code, it failed to link. So this is not a book for beginners. (I found the McGraw-Hill web page for Errata, but it only had a handful of books and this book was not one of them.) But I enjoyed the book and valued his insights. Other reviewers prefer Scott Meyers. I don't like Dr. Meyers books. Meyers rambles and beats around the bush. "Code Complete" by McConnell is just way too long. Time is money. I started to read Maguire's "Writing Solid Code" and closed the book after the 1st chapter. Not impressive at all. I have "Industrial Strength C++" by Henricson and found it dry - no fun to read, but nice reference. "C++ Distilled" by Pohl is nice reference, but also not fun. Have I told you yet that I enjoyed reading Holub's book?
Comment 10 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
I'm a 11-year mostly C programmer and I AGREE WITH EVERYTHING IN THIS BOOK. I've been a consultant for 5 years - and fixed a lot of code. Beginner programmers should read this and follow it. Computer Science and MIS degrees focus on algorithm design and efficiency and theoretical programming. THIS IS NOT THEORETICAL - this is PRACTICAL. Please, people, write code that's easy to read for the idiot that will come after you; over 50% of the cost of a progam is MAINTENANCE and if you write a simple routine that takes twice as long to execute, OH Well, unless it's a visible delay, no one cares about efficiency.
Use this book as a CORPORATE STYLE GUIDE FOR C & C++ PROGRAMMING. If you follow it and write easy-to-read programs, your employer will SAVE MONEY IN MAINTENANCE. I literally agreed with everything in this book - with one exception. He poo-poos working over 8 hours/day. I disagree. True, programming is creative work and you can burn out, but I find 10 or 12 hour days highly productive because people don't interrupt me, and I try to task switch enough to give myself breaks (or stare out the window blankly to do some subconcious-problem-solving).
In Short - Buy This Book, or borrow it - and save your employers money by creating simpler programs. You'll look like a star by creating something even a junior programmer can modify easily. If you're an expert C or C++ programmer, it's very worth it, too - you get another perspective on ease-of-use. I changed my mind and now will consider using const (I had only used #defines to simplify things - he made a good argument that the compiler is better than the preprocessor at catching brainfarts).
Also, If you can, give it to your manager. They need to know this stuff, too.
1 Comment 9 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback
I really enjoy this book - it is one of the most enjoyable programming books I have found. Yes, I will agree with most of the points - that he is opinionated, and sometimes wrong, but he is just giving advice, and you are free to examine his coding practices and pick and choose what you like. Yes, Code Complete is a good book, but it is generic, whereas this book is all C/C++ advice, which I find more insightful, where McConnell is more obvious. And it is just plain fun to read.
Comment 6 people found this helpful. Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
Format: Paperback Verified Purchase
Allen Holub doesn't disappoint. First, I read his compiler tome, which was excellent given the size and the topic. It's a well-written book with no annoying US colloquialisms or padding.

Next, I read Holub's patterns book, and found it excellent also. It's unusual that Holub's writing style has changed to suit the different material he covers. The compiler logic in the first book was well-known and highly technical, whereas the patterns book was highly abstract, with the relatively new concepts of patterns. I found it much more approachable than the Gang of Four book.

I couldn't resist reading another of Holub's books - this one. Again, Holub has changed his writing style. Reader's may think he's opinionated (something which is not evident in the two aforementioned books) but he admits he has personal preferences that may well differ from others. To avoid sounding opinionated, the author would have written "I think that...", or "In my opinion...", time after time, which would have made the material both weak and bloated. Better to take a stance.

Holub has done a great job with this book. I have read and re-read Scot Meyers' "Effective" books, which I've found excellent, although they vary a lot from Holub's book. But there is no reason why the books of the two authors need to be mutually exclusive. Holub has covered C, which Meyers' has not. I found Holub's book less technical, for the most part, but roughly the same when covering the more advanced C++ in the last part of the book.

C is still around, and many programmers, myself included, have had trouble learning C++. It's great that the author has covered both languages, and I think that you'll get insights into C that will help with C++. Overall, an enjoyable book, recommended to any C or C++ programmer. The material would be applicable to second or third year of a Computer Science Degree.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse

Most Recent Customer Reviews