8 ms·
I actively disrecommend Code Complete. I bought the first edition back when I uncritically acquired everything with a Jolt Award logo. It's a pile of tautologie
by mahmud 15y ago
I actively disrecommend Code Complete. I bought the first edition back when I uncritically acquired everything with a Jolt Award logo. It's a pile of tautologies and common sense. It tries to teach stuff that is best learned through experience.
K&R was my second C book, and I love it for its authenticity, but I learned more from Kelly & Pohl's "A Book on C".
The Mythical Man Month I read in anger after a project failed. It not only resonated with me, but cheered me up.
Programming Pearls can't be "read" in the usual way, it's something I flip through when facing particular problems, but generally I savor it (ended up selling my copy after my 2 year backpacking trip, back when I swore I'll never write software again .. oops!)
Effective Java (C++) are practitioner lore. Their teachings have been subsumed by the language community and you can see it in code bases.
My advice is to learn to use your favorite editor with a TAGS file, then go navigate through a large open source project, and extend it in some minor way. That's more profitable than enduring any book on "design".
I never cared for "Pragmatic" or "Test-driven" or "Agile" publications.
- sanxiyn 15y ago> My advice is to learn to use your favorite editor with a TAGS file, then go navigate through a large open source project, and extend it in some minor way. That's more profitable than enduring any book on "design". This is the truth. On the other hand, I learned from experience that people do not take this advice when you give it. Maybe plunging into large codebase is daunting, I don't know. Now I give them http://www.aosabook.org/en/ http://www.aosabook.org/en/ and tell them to choose an interesting project and then read it.
- anthonyb 15y agoThat book looks excellent - perhaps if all large open source projects included something similar, they'd get more contributors? I suspect that jumping into code with no overview of it's structure is going to be slower than if you have a clear framework to hang things on, which might explain the reluctance. Their follow up book also looks good: http://www.aosabook.org/en/makingsoftware.html http://www.aosabook.org/en/makingsoftware.html
- anthonyb 15y agoCode Complete is a great book, and I don't think there are any other books out which cover the nuts and bolts in such a thorough way. I also recommend "Rapid Development", by the same author. It sounds like a fuzzy, Agilish cliche, but a more accurate title is probably "How not to fuck up your project." All of the usual bugbears are there - technical debt, creeping requirements, gold plating, etc.
- msbarnett 15y ago> Code Complete is a great book, and I don't think there are any other books out which cover the nuts and bolts in such a thorough way. Eh, I don't recommend Code Complete, either, though not for the same reasons as mahmud. You say you don't know of a book "which cover the nuts and bolts in such a thorough way". I can name one that covers almost the same territory: Kernighan and Pike's excellent The Practice of Programming. You could certainly argue that it doesn't cover the same territory in such a "thorough" way, if by thorough we mean "needlessly bloated". The Practice of Programming manages to say, in 288 pages, everything useful that McConnell needs 960 pages to spit out. The Practice of Programming is the last book I can think of that came out of the old tradition of software books that valued concision and clarity of communication above all else. It's short and precise in the way that "The C Programming Language" is short and precise compared to modern PL books. Code Complete is a product of modern software book marketing; it takes forever to say anything, so that it consumes maximum space on a bookstore shelf, and attempts to justify its price in weight rather than ideas.
- anthonyb 15y agoI think that's an unnecessarily harsh review. From looking at the table of contents, it looks to me like Code Complete covers a lot more territory, eg. there doesn't appear to be anything on code reviews in The Practice of Programming. That said, I'm going to have to find a copy of it now and compare them :)
- Argorak 15y agoI loved the size of code complete but the brevity of the content itself. I didn't read from cover to cover, but always had the copy on the table and read a chapter each morning.
- buff-a 15y agoHave to agree on Code Complete. The first edition was a load of waterfall bollocks and I couldn't believe anyone wrote code like that. It actively put me off a "proper" programming career. The second edition, apparently, reduced that shite, but by that point I wondered "if the author is just reproducing dogma, why bother?"
- cpeterso 15y agoCode Complete was published in 1993, so I think it can be forgiven its emphasis on waterfall development. It back its advice by citing real studies of software project, though the projects were from the 1960/70s at big companies like IBM.
- buff-a 15y agoLike I said, its a book about dogma and cherry-picked studies. The dogma and studies were wrong. So if you want books about broken dogma and studies, read Code Complete.
- blacksmythe 15y agoI am sure that for you it was a pile of tautologies and common sense, but I think most people graduating with an undergraduate degree would benefit from reading Code Complete as they start their career. I have to admit I thought it worth the time to read. It is an easy read. There are certainly books on this list that provide >10x the value, but take >10x the effort to assimilate. >> It tries to teach stuff that is best learned through experience. Experience is a harsh teacher.
- ramblerman 15y agoTo quote the pragmatic programmer, "bullets are cheap". An engineer building a bridge doesn't have an easy way to just try it out. Someone hacking together something at home, or an internal facing product at work can learn by experience.
- anthonyb 15y ago"Experience keeps a dear school, but fools will learn in no other, and scarce in that" -- Benjamin Franklin
- Negitivefrags 15y ago> My advice is to learn to use your favorite editor with a TAGS file, then go navigate through a large open source project, and extend it in some minor way. That's more profitable than enduring any book on "design". If this were a book, it would probably go on the "Books Programmers Claim to Have Read" list.
- tsotha 15y agoAgreed on Code Complete. Never understood why people thought it was worth reading. Much better is Steve Maguire's Writing Solid Code.
- powertower 15y ago> It's a pile of tautologies and common sense. I was about to say the same exact thing, but was too afraid to because of the backlash. That book has little to no use. It's a book you would give to someone that's a -1 level programmer on a 1 to 10 level scale, to bring him up to a 1. Really, it is. I've always wondered if its recommended because people were not reading it, or if there is a case of general incompetence (the type that would get you fired, or not hired) in the general programming pool.
- rsheridan6 15y agoI read it when I was about a 1 on a 1-10 scale, and it probably helped bring me up to a two - which is a worthwhile ROI on a book.
- kls 15y agoI think that is why it is so recommended it is intended for people that are just entering into programming not individuals who have learned the common sense through experience as such it's value is very much dependent on where you are at in programming when you read it.
- mustjoinsiiiite 15y agoThank you! I'm beginning to think all the Code Complete recommendations are a large scale troll-in-progress on the programming community. I found a copy years ago and opened it up to a random page right around the middle of the book. I was then greeted with a half-page or longer explanation of how the condition of a while loop is only evaluated once per iteration, rather than magically causing the loop to terminate the instant it becomes false. I was just flabbergasted. Again, this wasn't in chapter zero somewhere, but hundreds of pages into the book.
- kragen 15y agoCode Complete prepared me to learn that stuff through experience: http://lists.canonical.org/pipermail/kragen-tol/2007-March/000849.html http://lists.canonical.org/pipermail/kragen-tol/2007-March/0...