5 ms·
The original version of this book is something I'll always treasure. It sits next to "Code Complete", the Gang of Four's "Design Patterns" book and Martin Fowle
by alasdair_ 7y ago
The original version of this book is something I'll always treasure. It sits next to "Code Complete", the Gang of Four's "Design Patterns" book and Martin Fowler's "Refactoring" on my top shelf and I still read parts of it every year.
- caseysoftware 7y agoAdd Fogel's "Producing Open Source Software" and Brooks' Mythical Man Month and you've perfectly described my shelf too. I found most of those when I was a lowly junior developer and they were instrumental in shaping my thinking, approach, and understanding of tradeoffs. I'd love to see more people pick them up.
- JustSomeNobody 7y agoKernighan and Pike’s “the practice of programming” is up there with those on my shelf.
- martininmelb 7y agoYes. That book has probably shaped my thinking and coding more than any of the others above (although they are also very good).
- tunnuz 7y agoWould you still recommend the original version? I have a printed copy and tried to read it ages ago, but gave up (it bore me). I am sure I'd appreciate it better now, but with a new edition coming out I'd be wondering whether I'm missing out.
- anderspitman 7y agoWhen I first read it 5 years into my now 10 year programming career, it felt timeless. I've been meaning to reread it ever since. Curious what I would think now.
- ralphc 7y agoHunt and Thomas themselves don't really recommend it anymore. Large parts of the industry have changed over the years. They're interviewed in episode 352 of The Changelog podcast. It's worth a listen if you're a fan, or interested in either edition.
- leetrout 7y agoThat was a great listen. Thanks for the recommendation.
- deleted 7y ago[deleted]
- sideshowb 7y agoSsh you're not meant to confess to design patterns these days ;-)
- mav3rick 7y agoTo any new grad reading this...Code Complete is still relevant !!
- maaaats 7y agoI bought a rubber duck for fun after reading the first passages as a student. Sincr then I've been known as the rubber duck guy and people constantly gift me them. They are all over the office.
- james_s_tayler 7y agoI couldn't bring myself to do it for real with an actual rubber duck. But I recently came up with the concept of "comment ducking" which is when you just start writing a comment in the source code as if you were explaining to someone and that actually works as a substitute!
- ilovecaching 7y agoI used to think those books were great before I got my first job at FAANG. Literally the only thing that matters is moving fast. Technical debt is just the price of scaling and beating the competition. Code quality is really not important at all as long as the product works and is bug free. So I’ve become extremely nihilistic about software development. It isn’t that I don’t think the properties of clean code and software craftsmanship aren’t worth it, it’s that companies and the engineers who build them from startups don’t care and are focused on keeping their doors open. Long term health is a very secondary concern. I’ve done my fair share of preaching that we should refactor and start focusing on quality during code reviews and it’s basically just shouted down with “don’t fix what isn’t broken” and YAGNI.
- taneq 7y agoWhile I share your nihilism about engineering quality in a startup environment, if you don't keep your doors open, the long term health of your codebase will fall to zero. If you have an established, cashflow-positive company that's not hell-bent on scaling fast (or being forced to scale unnaturally by VC backers) then the balance swings back and it becomes worth investing in your codebase.
- dawidw 7y ago> Literally the only thing that matters is moving fast > Code quality is really not important at all as long as the product works and is bug free According to Robert C. Martin is not possible to move fast without good quality.
- ilovecaching 7y agoThat's the thing though. Martin says that, but then you watch a company scale to billions of people ignoring all of his advice. So the question is - does Martin actually have quantitative proof that what he is saying is correct, or is he just selling wishful thinking? The field of software engineering as an academic discipline is the least understood of the computer science subfields because it's qualitative not quantitative field. Of course scaling to billions of users only proves that it can be done without quality, not that they could have done it better with quality software.
- deleted 7y ago[deleted]