Recent books

Posted on 2020-06-01

I started reading a few books recently and thought I should share it with others.

One of them is titled “Mediocre Programmer”. It is more of a long essay than a book. Highly recommend other programmers to read the book. The books talks about things that no other books in the field talks about namely the different feelings one goes through in their life as a programmer. The book discuss the never ending learning and practice that a programmer should engage in, success and failure in the daily programming life, programming as a profession, focusing, emotional struggles that we undergo in our lives, burnout among other things. If you are a programmer or an aspiring programmer, then I highly recommend reading it. The book is freely available.

The other book that I am still reading is a book by John Ousterhout called “A philosophy of software design” that he wrote based on a course he taught at Stanford University. The book takes the reader through a few principles that programs should follow - like how to attack complexity by decomposing programs so that they can be built for easy maintainability and readability and some good practices in design of programs. The class students apparently write Java programs for a series of moderate to difficult projects - like writing an HTTP server, graphical text editor etc. The book discuss these programs as a case study on how good and bad programs are structured and how one can restructure programs for low maintenance. It is a very interesting read and I have learned a great deal from the book already, though I don’t use Java. Even if the reader is not going to be a Java/OO programmer, it is tremendously useful - just read “type” instead of “class” when you encounter the word “class” and it magically applies in most cases. The author also did a talk at Google and that is a wonderful summary of the book and is worth watching. Also worth mentioning - John has built many many real world systems (operating systems, file systems, programming languages etc) so he is really talking from his experience, not just based on the student projects. Again, highly recommend getting a copy if you are a programmer.

Prof. John’s book looks like a good addition to another of my favourite books “The practice of programming”.