Tuesday, August 16, 2022
HomeSoftware EngineeringA Philosophy of Software program Design by John Ousterhout

A Philosophy of Software program Design by John Ousterhout


I lately completed studying A Philosophy of Software program Design by John Ousterhout and I assumed that it could be helpful to share my opinion about it with the group.

My motivation for choosing up this e-book was that I noticed that it is without doubt one of the finest sellers in Amazon and it had numerous good evaluations.

In regards to the writer #

The writer of the e-book is John Ousterhout. He’s a professor of laptop science at Stanford College. He was a professor of laptop science on the College of California, Berkeley the place he created the Tcl scripting language and the Tk platform-independent widget toolkit and proposed the thought of co-scheduling. John Ousterhout has completed some important contributions to the sphere of laptop science and has been awarded a Grace Murray Hopper Award and an ACM Software program System Award.

In regards to the contents #

This e-book was written by John Ousterhout for use as the primary studying materials of one of many topics within the laptop science program at Stanford College. Regardless of the highly-academic background of the writer and being a part of the content material of the pc science program at Stanford College, the e-book is written in a really colloquial model that may be adopted with simple by non-academics and newbie laptop science college students.

I’m an skilled developer and I’ve heard about lots of the concepts within the e-book earlier than. Nevertheless, I nonetheless loved this e-book as a result of I feel the writer has completed an excellent job extracting the essence of some ideas and placing it down in phrases. I significantly loved the sections about complexity, interfaces, and abstractions.

I additionally loved that the writer dares to problem some widespread finest practices corresponding to “capabilities ought to be small” or “lessons ought to solely do one factor” as a result of it encourages experimentation and being open-minded.

The e-book is split into the next 21 chapters:

  1. Introduction
  2. The character of complexity
  3. Working code isn’t sufficient
  4. Modules ought to be deep
  5. Info hiding (and Leakage)
  6. Common-purpose modules are deeper
  7. Completely different layers, completely different abstractions
  8. Pull complexity downwards
  9. Higher collectively or higher aside?
    10 Outline errors out of existence
  10. Design it twice
  11. Why write feedback? The 4 excuses
  12. Feedback ought to describe issues that aren’t apparent from the code
  13. Selecting names
  14. Write feedback first
  15. Modifying present code
  16. Consistency
  17. Code ought to be apparent
  18. Software program tendencies
  19. Designing for efficiency
  20. Conclusion

I actually loved the primary half of the e-book. The primary chapters focus on the character and the primary causes of complexity in software program. The next chapters discover some widespread design issues in modules, interfaces, abstractions, coupling, and error dealing with. The e-book highlights the primary issues as an inventory of crimson flags that we must always keep away from. I disliked that among the concepts felt someway opinionated and not likely goal. Nevertheless, I didn’t have an enormous drawback with it as a result of I truly agree with many of the factors of view of the writer. Additionally, he wouldn’t be capable to problem some widespread finest practices with out being opinionated.

After chapter 11 the content material was much less interesting to me as a result of I felt that I wasn’t studying as a lot as I used to be studying in the course of the first half of the e-book. Nevertheless, that is most likely my case as a result of I’ve learn different books (e.g. Clear Code) on related subjects.

I might suggest the e-book for each senior and junior builders as a result of I actually loved the primary half of the e-book and I assume that some much less skilled builders will discover the second half of the e-book extra attention-grabbing than I did.

I might additionally like to say that this e-book within reason low cost. Many tech books have a worth mark of 40 to 60 USD and this books obtainable for 17.27 USD in its paperback version. Sadly, the e-book just isn’t obtainable in digital codecs.

In the event you assume that you’d take pleasure in this e-book, it is possible for you to to buy it on-line at Amazon UK or Amazon US.

I hope you have got discovered this evaluate helpful. I’ve plans to attempt to evaluate all of the tech books that I learn from now personal. So please comply with me if you wish to learn extra e-book evaluations sooner or later.









Please enter your comment!
Please enter your name here

Most Popular