| ▲ | WillAdams 3 hours ago | |||||||
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") | ||||||||
| ▲ | globular-toast 2 hours ago | parent [-] | |||||||
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. | ||||||||
| ||||||||