Another review of this book, which I thought was very comprehensive: http://www.pathsensitive.com/2018/10/book-review-philosophy-of-software.html?m=1
Linking my comments from the last time this book came up.
I’ll agree that it’s certainly better than Clean Code, but I wouldn’t hand this to a new engineer without some caveats.
I literally think about this book all the time after having read it. It is so good, and articulates clearly a lot of things I’ve been feeling in my bones.
I recommend this book to students and people starting out in the field all the time. One thing I always point out is that you don’t even have to read it cover-to-cover to get value out of it. The chapters are relatively self-contained, which really helps for people who don’t have big blocks of free time. Read a chapter here and there as you have a moment, maybe before bed, or even in the bathroom!
Good review, and I also thought about Ousterhout’s book as a substitute while reading the criticism of Clean Code.
However, my recollection of Clean Code (7 years removed) is that it had more advice about programming in the small (rules about lines, if-statements, variable names, etc). Ousterhout’s book touches on these topics, but is mostly focused at the level of how to design modules, and I’d also say it’s more focused on principles than prescriptive rules.
Clean code (or a better substitute) is the kind of book you might give to someone in the first year of their professional programming career. Ousterhout’s book is something you’d give to someone with a bit more experience, who’s taking on more challenging work.
What do you think of Code Complete? Clean Code seems to be getting recommended to a more recent generation of developers. I read Code Complete as an intern. When I got Clean Code I had filled in many of things which it covers, so maybe I’m not the best audience.
Haven’t read it. I’ve heard enough that I’d like to, but I’m also reading less material on general programming techniques, and more on specialized topics these days.
Also, I think you have a typo in the third sentence–perhaps one of the mentions of Code Complete should be a different book title?
I fixed up the last sentence. Good point on specialized topics.
I think Code Complete is the better book. We need an updated addition. The linked article in this article shows how muddled Clean Code is and I’d have to agree.
I remember reading that book and trying to apply it to a project I was working on at the time. I wasn’t that happy with the results. I mean the advice sounds good, fewer parameters, shorter methods, but to me it makes the code more confusing as you end up with comically short methods and naming gets harder. There are only two hard things in comp sci, naming, caching and off by one errors. But seriously coming up with good names constantly is a pain.