Hacker News new | past | comments | ask | show | jobs | submit login

Without a doubt one of the best technical books I have ever read.

To me, it was a missing piece of the big puzzle of "how do computers work". I read many a book to answer this question, and came away with three books:

- CODE by Charles Petzold explains the CPU

- Operating Systems: Three Easy Pieces by Arpaci-Dusseau explain OSes

- Crafting Interpreters by Robert Nystrom explains programming languages

Masterfully done.




These look great, and judging by other people's comments, are instances of a class of book I will poorly describe as "lovingly-crafted works of art on highly technical CS topics", a genre that I am always on the lookout for more examples of.

From my own experience, some examples might be:

- SICP, by Abelson and Sussman

- Paradigms of Artificial Intelligence Programming, by Norvig

By general acclaim, some examples might be:

- How to Design Programs, by Felleisen et al

- Beautiful Racket, by Butterick

- LISP In Small Pieces, by Queinnec

- The Art of Computer Programming, by Knuth

- The Elements of Computing Systems, by Nisan and Schocken

What else comes to mind? (My list is very LISPy, but that's just bc I have high awareness there.)


It's not really CS, but alongside the books you have listed (I have most of those physically and as eBooks!) I absolutely adore "The Art of Electronics" as the Bible to electronics. It's definitely helped me out immensely.


That's a great example -- I know people who have that and feel a religious zeal for it. That "religious zeal about a technical / science created with art and care" book is the feeling I'm really after.


Right, exactly: when that much care is put into a resource, I truly feel that I enjoy it more, even if the material itself might seem dry at first. Those kinds of feeling books are truly special.


100%, which reminds me: another example of books created with incredible care are anything by Douglas Hofstadter. The canonical example is Goedel, Escher, Bach; but one that I think is super under-rated is Le Ton beau de Marot -- not only does he care about the content, but the page layout, the font, everything. Truly a labor of love and obsession.


"Concepts, Techniques, and Models of Computer Programming", by Van Roy and Haridi


FYI there is a second edition of CODE coming out at the end of August.

I will check out Three Easy Pieces! Thanks for the rec.



Could you please consider this book?

Compiler Construction Using Java, JavaCC, and Yacc[0]

In my opinion, this has been underrated book. I learned a lot from this book. I enjoyed it and plan to read it again.

If you could check it out. It contains solid explanation from theory to implementation. I'm not affiliated with the author, I just wanted to show I'm grateful for his work.

[0] - https://onlinelibrary.wiley.com/doi/book/10.1002/97811181127...


OSTEP is the best technical book I’ve ever read.


Exercises are lacking.


YMMV but I found them to be pretty complex and required some in depth knowledge of both assembly and C. Implementing threads/clone at the sys call level required knowing how to set up the stack and registers for the new process. If I recall correctly there was also a hard problem about virtual memory, but this was 3 years ago.


Depends whether you have the international version or the north american one.


Could you elaborate on the differences?


Exactly the comment I was looking for. Thanks for the OS book recommendation.

PS: you might want to reformat your list.


I have started reading Introduction to Computer Organization by Bob Plantz, and I think it would also tell someone a lot about how computers work. It starts with hardware and builds into Assembly and eventually higher level concepts like OOP.


Similar vein re: CPU, targeted at an undergrad level, you might enjoy _Computer Systems: A Programmer's Perspective_ by Bryant and O'Hallaron (https://csapp.cs.cmu.edu/) At least I found it a really well-written and integrative text coming from knowing C and wanting to learn the next level down well. Ties in with the OS bits on the "top side" too.


Any defining book for databases? I'm interested in going deeper into the query planner and indexes.


Look up Designing Data-Intensive Applications by O'Reilly.


Database Internals by Alex Petrov

If you are into videos: https://www.youtube.com/playlist?list=PLSE8ODhjZXjbohkNBWQs_...


Any defining book for networks?


TCP/IP Illustrated, Volume 1, Richard Stevens.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: