Ask HN: Top inspiring books on crucial CS ideas?
I'm not looking for textbooks or best education materials per se, but rather for thought provoking and inspiring reading on computer science topics.
What books you find the most brilliant, inspiring and explaining the core CS ideas, data structures, algorithms?
For any level of readers, just your personal best two.
For example, I find this book amazing for beginners: https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319
And this one of the same author for more prepared reader: https://www.amazon.com/Annotated-Turing-Through-Historic-Computability/dp/0470229055/
28 comments
[ 4.0 ms ] story [ 67.5 ms ] thread1. Code: The Hidden Language of Computer Hardware and Software
2. Clean Code: A Handbook of Agile Software Craftsmanship
3. Refactoring: Improving the Design of Existing Code
4. The Pragmatic Programmer: From Journeyman to Master
5. Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability
6. The Mythical Man-Month: Essays on Software Engineering
7. Structure and Interpretation of Computer Programs
8. Introduction to Algorithms (The MIT Press)
9. Programming Pearls (2nd Edition)
10. The Art of Computer Programming
"Programming Pearls" might be an exception—there are some great real-life stories and problems to think through in that.
Maybe also "The Art of Computer Programming" but I can't speak from experience (I'm not ready to tackle that one yet).
> here's our list of 10 of the best.
seems particularly listicle-y, especially with the full stop rather than a colon or nothing
Yes, I've never before on HN thought a commenter was non-human, but most of their comments begin with similar rehashing the topic in a very weird way, like they can't stop writing ad copy. Like they were given the topic and are responding in magazine article or super-commercial-blog style - they don't have the flavour of a person talking a person.
I don't think that should be allowed on HN.
- The Algorithm Design Manual
- Structure and Interpretation of Computer Programs
- Elements of Computing Systems (nand2tetris book)
I have read lots of non-fiction books about programmers and engineers that have been very inspiring, they're just not technical: "Masters of Doom", "Blood, Sweat, and Pixels", "Coders at Work", "The Idea Factory", "The Soul of a New Machine", "Dealers of Lightning"...
Sometimes Silicon Valley (tv) generates the same reaction on me.
I especially love the early story of ID, before Romero left. That was probably one if the greatest teams a technical person can be.
For me: 1. Structure and Interpretation of Computer Programs. It's a very challenging book (currently 2 years into reading it with a couple of friends), but really helps demystify the different layers of the stack. 2. Coders at Work. Really interesting to hear how they think about programming (and their differing opinions from each other). I found the audiobook really good
https://news.ycombinator.com/item?id=29501589
Harel's Algorithmics is a must read. The coverage is really broad and comprehensive. For some reason, this book is not that well-known and hence deserves all the publicity/recommendation it can get.
Otherwise I think "The Golden Ticket: P, NP, and the Search for the Impossible" is a hidden gem about a very interesting CS topic.
For me CS is all about logic and types in the same way classical math is mostly about algebra and calculus.
A great text for logic is Huth & Ryan: https://www.amazon.com/dp/B00AKE1QXQ
A great text for type theory is TAPL: https://www.amazon.com/dp/B08H18R67V
A superb combination of both is Concrete Semantics: http://concrete-semantics.org/concrete-semantics.pdf
Knowing the material in these books is sufficient to land a high end verification job.
In his 1997 talk at OOPSLA, Alan Kay called it "the best book anybody's written in ten years", and contended that it contained "some of the most profound insights, and the most practical insights about OOP", but was dismayed that it was written in a highly Lisp-centric and CLOS-specific fashion, calling it "a hard book for most people to read; if you don't know the Lisp culture, it's very hard to read" [2]
[1] https://mitpress.mit.edu/books/art-metaobject-protocol
[2] https://www.youtube.com/watch?v=oKg1hTOQXoY
It's a fun read and it explains the core concepts of how a computer works really well.
* Out of their Minds: The Lives and Discoveries of 15 Great Computer Scientists by Dennis Shasha et al.
* Ideas That Created the Future: Classic Papers of Computer Science edited by Harry Lewis - Came across this book in another HN thread but i don't have it yet.