The Elements of Computing Systems
Nisan and Schocken
58 people recommended it in 24 threads, 2011–2023.
What people on Hacker News said
Even though I studied Computer Science in University and most of the concepts weren't new to me, it was such a fun experience mentally "building" a computer from relays/transistors to logic gates and up to assemblers, compilers, and interpreters.
It's a course that starts with just nand gates, and leads you through the development of higher level logic gates, then an ALU, then a CPU, the an assembler, then a high level language compiler, and finally an operating system.
Easily one of the most interesting and engaging textbooks I've read in my entire life.
The course really drove home for me the power of simple, well-designed layers in building complex systems, since the end goal of building a CPU from scratch sounded impossibly intimidating at the start but by the end I was comfortable in explaining every detail.
Accompanies www.nand2tetris.org and leads you through implementing logic gates, a CPU, Assembler, right up to a functional computer, with the help of simulator software on a PC.
Basically it has you hands on work through the basics of every concept active in a modern computer save for networks and web.
It is a long book but you will build each element of the computer if you follow it. It might not reflect nowadays computers, but surely it will bring an idea how everything works, from the very ground of gates and bits to the kernel, compiling and so on... just my personal opinion.
Starting at logic gates and moving up through the levels of abstraction until you can build a programming language and implement a video game is the most fundamental approach that I'm aware of.
Where it comes up
- Ask HN: What are some books where the reader learns by building projects? 2020 · 10 recommendations
- Ask HN: What are some books where the reader learns by building one project? 2017 · 6 recommendations
- Ask HN: What's the best computer science book you've read recently? 2017 · 6 recommendations
- How These Things Work – A book about CS from first principles (2016) 2020 · 5 recommendations
- Ask HN: What's the best textbook you've read? 2018 · 4 recommendations
- Ask HN: What are the most fundamental books on computer science? 2019 · 3 recommendations
- Extracting Hacker News book recommendations with the ChatGPT API 2023 · 2 recommendations
- Ask HN: Books that teach programming by building a series of small projects? 2023 · 2 recommendations
- Ask HN: The book that did it for you in math and/or CS? 2022 · 2 recommendations
- Ask HN: Books you plan to read in 2020? 2019 · 2 recommendations
- Ask HN: What language-agnostic programming books should I read? 2017 · 2 recommendations
- What is the single most influential book every programmer should read? 2011 · 2 recommendations
- Ask HN: What are the most eye-opening textbooks you have ever read? 2023 · 1 recommendation
- Ask HN: Do you recall any book or course that made a topic finally click? 2022 · 1 recommendation
- Books that changed my career as a software engineer 2021 · 1 recommendation
- Ask HN: What, in your opinion, are the greatest and most useful textbooks? 2020 · 1 recommendation
- Ask HN: Best book to gift someone for getting into software engineering? 2019 · 1 recommendation
- Ask HN: Fun Tech Book Recommendations? 2019 · 1 recommendation
- Ask HN: What books have made the biggest impact on your mental models? 2017 · 1 recommendation
- The most mentioned books on Stack Overflow 2017 · 1 recommendation