logoalt Hacker News

WillAdams • today at 1:08 PM • 1 reply • view on HN

Tie: _A Philosophy of Software Design_ by John Ousterhout

https://www.goodreads.com/en/book/show/39996759-a-philosophy...

and: _Literate Programming_ Donald Ervin Knuth

https://www-cs-faculty.stanford.edu/~knuth/lp.html

Mostly because I view them as two sides of the same coin --- one shows how to design software, the other shows how to document and write the software which one has formally designed.

Walking around my house I found 95 books at first counting --- but I maintain two lists of directly focused on programming books (obviously incompleat):

https://www.goodreads.com/review/list/21394355-william-adams... --- fair number of these I have not yet read, and because they touch on programs I'm not likely to be working with, probably won't, but are listed because I really believe in Literate Programming and want to foster/advocate for it where possible.

https://www.goodreads.com/review/list/21394355-william-adams... --- most of these are read, and as noted, this is badly incompleat (but may be affected by some of the books I counted being on other shelves such as "Typography")


Replies

globular-toast • today at 2:09 PM

That Ousterhout book is really good. I read it over about two weeks on the shitter. Very succinct. My favourite is how he describes what makes a good module, namely a good module is deep and narrow (has a small API but packs non-trivial functionality), rather than wide and shallow (large API but doesn't really do much).

I love Knuth but have not yet added Literate Programming to my library. Have been hoping to find it used somewhere (along with Concrete Mathematics) but hasn't turned up yet.

➕ show 1 reply