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/
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"...
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.
- The Algorithm Design Manual
- Structure and Interpretation of Computer Programs
- Elements of Computing Systems (nand2tetris book)
Otherwise I think "The Golden Ticket: P, NP, and the Search for the Impossible" is a hidden gem about a very interesting CS topic.
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]
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
* 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.
It's a fun read and it explains the core concepts of how a computer works really well.
1. 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