Back
John Ousterhout: A Philosophy of Software Design, 2nd Edition (Paperback, 2021, Yaknyam Press) 4 stars

This book addresses the topic of software design: how to decompose complex software systems into …

Worth it for the shallow/deep module terminology

4 stars

Most of the author's views (like, for example, on writing comments) are non-controversial. He does however, coin the terms "deep" and "shallow" to talk about the way modules are structured. I think these are very useful, and should be commonly known!

Other than that, the author sticks to the semantics of the vaguely object-oriented curly brace languages. Java, C#, Go, etc. I think this book could be richer if the examples were drawn from a greater variety of programming languages.