24 comments

[ 3.1 ms ] story [ 71.7 ms ] thread
(comment deleted)
"20. Surely you're joking Mr. Feynman"

That's an autobiography. No relationship to computing.

Completely agreed. It has nothing to do with programming and it shouldn't be as influencial as it is currently anyways.
Note that some of these are of historical rather than actual relevance. For example, the C++ books which regard C++98 rather than newer version of the language have some timeless advice, but also suggestions and idioms which have since been supplanted (sometimes by the authors themselves) by better alternatives utilizing new language features.
It would've been nice to see why a particular book was included in the list. I certainly don't agree with the addition of Clean Code, but I may be missing something, hence my wish.
I read it two years ago. I personally believe it's amazing as an example of what 150% of a good thing looks like, and the point is deciding what 1/3rd to cut to make a neat 10/10.

Without that book, you barely see what 50% of programming goodness looks like. The only way to 100% is to go too far and dial it back. Offering 150%, imo, is a humble way to offer a path forward without getting the reader all the way there. Maybe it's better that way.

*Most influential books for programmers These are books considered most influential for programmers from this StackOverflow thread.*

That was point farming question on SO and people were voting on what was most influential for them.

Title might be tricky to read. Because title is saying that those books are not influential on the scientific field but are about that field. Problem is that there are books that are not about that topic so it adds to the confusion.

Books are about "computer science" topic and those books are meant to be influential in general.

It is by popular vote of how influential those books are on practitioners of software development.

I don't find that list useful or valuable.

(comment deleted)
The Feynman book, while being quite good, is not a good fit for this list.
The tall tales of Mr. Feynman, is an instructive guide that one can assist the narrative about themselves if only they cared to try.

While I am sure he was a maverick, he loved to talk about himself as such even more!

To my surprise I own 15 books on this list (physical copies). But some are more computer history related (Levy, Kidder, Kushner): and even though those books are some of my alltime favorites I don't know how a retelling (i.e. biography) can be an 'influential' book, since it's usually written after the fact?
As someone with experience in computer systems research, I recommend the following books that weren't on the list:

- Any of Marshall Kirk McKusick's books on the design and implementation of various BSDs; his latest book covers FreeBSD 11. These books are very well-written.

- Computer Architecture: A Quantitative Approach by David Patterson and John Hennessy. This is a wonderful book on computer architecture for graduate students written by the founders of RAID storage and RISC processors, respectively. For undergrads wanting a lighter introduction, I recommend Computer Organization and Design by the same authors. The authors won the 2017 Turing Award for their contributions to computer architecture.

- Three Easy Pieces by Remzi and Andrea Arpaci-Dusseau. This is a well-written, freely available operating systems textbook intended for undergraduates. It's also great for grad students and practitioners who need a refresher on OS topics.

Another book that is dear to me is the 1995 version of the Macintosh Human Interface Guidelines. I personally think that the classic Mac OS and the Windows Classic (introduced in Windows 95) interfaces and their respective UI guidelines for applications were the high water mark for well-designed user interfaces, and I feel that today's UI/UX designers can learn a lot from mid-1990's desktops.

I can’t take this list seriously if it doesn’t have Designing Data Intensive Applications by Martin Kleppmann.
If you follow the list to its source, it was written in 2012. That's a fair omission considering DDIA wasn't even published yet.
Using the criterion at the bottom of the page: "a specific book I would tell myself to read at the beginning of my career as a developer", the closest for me is probably The Pragmatic Programmer.

Not The Tao Te Ching (huh?), not Zen and the Art of Motorcycle Maintenance (really now?), not Advanced Windows (that I did read near the beginning of my career as a Windows C++ programmer), not any of The Little/Seasoned/Reasoned Schemer (all of which I read and I had tremendous fun with).

IMHO, this sounds more like a "I'm a programmer and this is a book I remember fondly" kind of list.

Good guess, as I couldn't come up with how such a diverse collection could be in the same list.

Having categories would be nice too. (Section headings, don't mean the FP kind.)

Not influential, but very informative:

- Annotated Turing by Petzold

- Code by Petzold

Maybe influential?

- Designing Data Intensive Applications by Kleppmann

- Digital Design and Computer Architecture by Harris

- How to Solve It by Computer

- Algorithms + Data Structures = Programs by Wirth

Christopher Alexander's "A Timeless way of building" is a very good book, but his "Notes on the synthesis of form" is perhaps even better - and shorter. And is maybe 10x more relevant to programming. I think "A Timeless way of building" is good reading so you see how object oriented design really is not based on it, but that the timeless way of building discusses higher level composition of systems based on constraints, and how similar constraints result in situations where similar solutions are applicable. Recognizing patterns in systems, and applying existing patterns of solutions on them is hardly unique to object oriented programming.