← Back to context

Comment by android521

3 months ago

I have read many books. If you can only read one book about how to program in your life , I would say that it is this book: A philosophy of software design: John Ousterhout. It is 10 times better than the next best book.

I'm not sure if you're just spamming this response all over this thread or if you're replying to what I wrote, but I do actually think there's a connection. I've also read and love this book, and it does push back on the "pragmatic" mentality espoused by The Pragmatic Programmer and other similar books.

I feel like this comes from Ousterhout's focus on actually building working systems. The Pragmatic books are much more focused on how one might get through the day as a programmer working at an org, but PoSD is focused on the ins and outs of building software well. I find that Pragmatic Programmer etc. have little to say about this, and when they do it's usually either trivial or fluff.

I'm not sure if Ousterhout is an "idealistic programmer" (I'm not even sure if this is the right term...), but I definitely feel like he's a fellow traveler...

This model of complexity from the book is very useful:

    complexity(system) =
      sum(complexity(part) * time_spent_in(part)
          for part in system)

For me “the problem with software, why smart engineers write bad code” is the prequel. Not as technical, but explains a big problem