There are over 30 books here. Some are quite hefty, e.g. CLRS is over 1000 pages.
Am I supposed to believe the author of this rec list has read all 30+ of these, cover-to-cover?
If so, how many additional books have they read which didn't make the list?
Because I would ideally like their "recommended books" list to be, say, the top 10% of the books they've read. So this list would be most credible if the author has read ~300 books, then recommended the top ~30 to us.
Somehow I doubt that.
Experiment: If you have a favorite CS book, please reply to this comment stating your favorite CS book, and the estimated total number of CS books you've read. I'll bet such a thread would be more valuable/higher-signal than OP.
I’ll bite.
Out of ~15 CS books read, my top pick would be “Learn You A Haskell For Great Good”.
Admittedly most of the CS books I have read are these instructional, O’reilly style books (often teaching a specific language) as opposed to academic texts. But regardless…
It’s a well written book. It introduces Haskell in a comfortable way, at a good pace. And I do like the humor. Or at least, I did when I read it years ago.
It’s also one of the few language specific books that I felt generally broadened me as a programmer. Worth a read regardless of whether you intend to actually use Haskell.
As chance would have it, I know the author personally. It is virtually certain that he has read all 30 cover to cover. It is nearly as likely that he’s read many more in order to pick out his highlights.
CLRS is much more a reference textbook than one you read cover to cover. Even when I took a class that used the book, we only read a few chapters of it. Based on those few chapters, plus one or two that I read later in life, I'd happily recommend it as a reference to others. I don't think you need to read all of it to do that.
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")
Total books over the years, probably between 200 to 300.
Here’s some of my favourites, cover to cover:
- Steven’s TCP/IP Illustrated
- Maxwell’s Linux Core Kernel
- Tanenbaum’s MINIX book
- Petersen’s Mastering EMacs
- Grune’s Parsing Techniques
- Raymond’s TAOUP
- Schneier’s Applied Cryptography
- “The” Rust book (same as post)
The author is an old college friend who was notorious at Georgia Tech for his insatiable reading habit. It actually wouldn't surprise me.
This is exactly what I am doing. I decided in 2022 that I'd record what books I read, and upon completion, write a review of them and rate them, too. I've divided my lists to fiction and non-fiction (so not strictly tech, because I read my tech books a long time ago!).
It also gives me a good indication of how fast I am reading (do I work to live?) and how my taste changes over time.
(interested can see my profile on HN for link)