HACKER Q&A
📣 aristofun

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/


  👤 ivanmaeder Accepted Answer ✓
Great question, I will come back to see what ideas people have. Thanks for the Turing book suggestion too.

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"...


👤 mooreds
If you are looking for concepts and not actual code or implementations, can't recommend "Algorithms to Live By" (https://algorithmstoliveby.com/) enough. It walks through 10ish algorithms and how they can be applied to real life.

👤 nextos
You will get lots of PLT recommendations, so I will get a bit more theoretical but still close to applications.

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.


👤 rg111
- The Little Schemer

- The Algorithm Design Manual

- Structure and Interpretation of Computer Programs

- Elements of Computing Systems (nand2tetris book)


👤 cenny
"The Little Schemer" (https://www.programmingbooks.dev/#the-little-schemer) is a classic that has stood the test of time.

Otherwise I think "The Golden Ticket: P, NP, and the Search for the Impossible" is a hidden gem about a very interesting CS topic.


👤 oumua_don17
The Art of metaobject protocol

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


👤 jonjacky
Algorithmics by David Harel. Discussion from a few months ago:

https://news.ycombinator.com/item?id=29501589


👤 richardthornton
Great question, I'm definitely going to check out some of the other books here.

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


👤 rramadass
* Understanding Computation: From Simple Machines to Impossible Programs by Tom Stuart.

* 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.


👤 pigiou
One book I really enjoyed is "But How Do It Know?".

It's a fun read and it explains the core concepts of how a computer works really well.


👤 phendrenad2
Read a book on discrete mathematics or information theory. Yes both of these are maths categories. Yes I'm certain.

👤 qubex
I cannot recommend William Gary Flake’s The Computational Beauty of Nature (1998) enough.

👤 Parker_Powell
No matter how long you've been a programmer, you're always looking for new ways to hone your craft and learn new techniques. One of the best ways to do that is by reading books on programming—as in, books that are actually about programming. Here's our list of 10 of the best.

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