TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The Elements of Computing Systems, Second Edition

574 pointsby VitalyAnkhover 4 years ago

26 comments

bmitcover 4 years ago
I love this book (the first edition), project, and course.<p>It is incomplete, but I thought I would share my implementation of the software stack in F#. Currently, only the assembler is implemented, but in my personal opinion, I think it showcases the beauty of F# for domain modeling. When I return to the project, I hope to restart the VM implementation and continue adding to the FPGA implementation as well. My eventual goal is to have the entire software stack built using F# that can than be run on an FPGA implementation of the CPU.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;bmitc&#x2F;nand2tetris" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;bmitc&#x2F;nand2tetris</a><p>Types to model the instructions and source file expressions: <a href="https:&#x2F;&#x2F;github.com&#x2F;bmitc&#x2F;nand2tetris&#x2F;blob&#x2F;main&#x2F;dotnet&#x2F;Nand2Tetris&#x2F;Assembler&#x2F;Types.fs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;bmitc&#x2F;nand2tetris&#x2F;blob&#x2F;main&#x2F;dotnet&#x2F;Nand2T...</a><p>The full assembler, mainly consisting of the parser and translator: <a href="https:&#x2F;&#x2F;github.com&#x2F;bmitc&#x2F;nand2tetris&#x2F;blob&#x2F;main&#x2F;dotnet&#x2F;Nand2Tetris&#x2F;Assembler&#x2F;Core.fs" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;bmitc&#x2F;nand2tetris&#x2F;blob&#x2F;main&#x2F;dotnet&#x2F;Nand2T...</a>
jpochtarover 4 years ago
Buy this book if you&#x27;re a programmer who wants to know how computers work.<p>I read the first edition in high school, and if I had to choose either this book or my entire undergrad CS education, I&#x27;d pick this book.
评论 #26039478 未加载
评论 #26037890 未加载
评论 #26039991 未加载
评论 #26037690 未加载
评论 #26039430 未加载
评论 #26038046 未加载
评论 #26041511 未加载
评论 #26046278 未加载
评论 #26037799 未加载
kar1181over 4 years ago
As others have commented, the original book was one of those little gems that once you read, you realise how blind you were before, and it is extremely accessible.<p>Often material is either too abstract or far too detailed, ECS managed to find the perfect balance where someone with a CS background can drill down to transistors and come back upwards again and really understand where they are going on that journey.
评论 #26038068 未加载
limitedmageover 4 years ago
How similar is this book to CODE by Charles Petzold? I loved that book because it progressively builds up an imaginary computer using very easy to understand concepts. Even non-technical people can read it to understand how computers work internally.
评论 #26038145 未加载
评论 #26038506 未加载
评论 #26038109 未加载
评论 #26040036 未加载
Jtsummersover 4 years ago
<a href="https:&#x2F;&#x2F;www.nand2tetris.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.nand2tetris.org&#x2F;</a><p>The course is at the above website, in case you want to start working through it before this edition is released in July.
ottodover 4 years ago
My girls, then aged 10 and 12, made it through the Coursera ECS first course. They are not geniuses, but the material is stellar. I helped them in a couple of assignments. They enjoyed it, even tough not one of them went the STEM route. They became the smart artsy young women that make art and music with computers.
roperzhover 4 years ago
The first edition is a <i>great</i> book, I completely recommend the first ~4 chapters, after that the ROI is not as good.<p>Personal opinion: I have found &quot;Computer Systems: A Programmer&#x27;s Perspective&quot; to be a better introduction to the same set of topics.
评论 #26040285 未加载
miobrienover 4 years ago
Course is available for free on Coursera:<p>Part 1 - <a href="https:&#x2F;&#x2F;www.coursera.org&#x2F;learn&#x2F;build-a-computer" rel="nofollow">https:&#x2F;&#x2F;www.coursera.org&#x2F;learn&#x2F;build-a-computer</a> (hardware projects&#x2F;chapters 1-6)<p>Part 2 - <a href="https:&#x2F;&#x2F;www.coursera.org&#x2F;learn&#x2F;nand2tetris2" rel="nofollow">https:&#x2F;&#x2F;www.coursera.org&#x2F;learn&#x2F;nand2tetris2</a> (software projects&#x2F;chapters 7-12)
评论 #26040297 未加载
评论 #26042950 未加载
mkl95over 4 years ago
The first edition is probably the book with the highest mind-expanding content to page ratio I have ever read.
protomikronover 4 years ago
Does anybody know something about the main differences to the first edition? Is it the same HACK computer (and stack, with assembler, high-level language, etc.), or did they change that?<p>The original architecture had some caveats - e.g. no external interrupt capability, so IO was implemented using busy polling and inspection specific IO-mapped memory regions (I don&#x27;t blame them, as it made the book more concise and you can not cover everything) and there has been discussion about a HACK-2 from the community, so it would be interesting if somebody knows more.
评论 #26038481 未加载
seibeljover 4 years ago
This is one of the best books you can read as a software engineer. Lessons can be done over weekends and they teach you so, so much. I recommend this to everyone when discussing CS books. Absolutely incredible work - and concise too.
cosmic_quantaover 4 years ago
I have the first edition. It was such a great read. I practiced the concepts by building a 4-bit ALU in Minecraft back in the day (~2013).<p>I thoroughly recommend this book.
crispyalmondover 4 years ago
Is there any place to purchase a digital copy of this? I want to read it, but don&#x27;t like paper copies. Besides the kindle edition, I&#x27;m looking for an ePUB or PDF mostly.
评论 #26040953 未加载
shayaover 4 years ago
I had the pleasure to be taught this course by Prof. Schocken and also implement <a href="https:&#x2F;&#x2F;www.nand2tetris.org&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.nand2tetris.org&#x2F;</a> It&#x27;s very important to know that Prof. Schocken is a true hacker - he speaks a lot with his students about hacking and curiosity, which is far more important than academic grades.
cadrover 4 years ago
I just want to add to what everyone else here is saying. I recommend this book to everyone. Very excited to see how they&#x27;ve updated it.
wly_cdgrover 4 years ago
I love this book. At the same time, isn&#x27;t the whole point of abstraction to make this knowledge irrelevant for people who build applications on top of it? Like, the knowledge should only have utility insofar as the abstraction designers and implementers at the levels below yours did a bad job, unless you have a use case they didn&#x27;t design for
jgwil2over 4 years ago
Gah! So mad I just bought the first edition!
评论 #26037911 未加载
评论 #26040767 未加载
评论 #26038612 未加载
zarkov99over 4 years ago
This is an amazing book, the engineering, bottom-up counterpart to the equally marvelous, but top-down, mathematical SICP. Between these two a serious student can get a wonderful foundation in CS and a deep and hopefully enduring connection to the beauty in it.
Tomteover 4 years ago
In July.
评论 #26037755 未加载
评论 #26038360 未加载
jzer0coolover 4 years ago
As a side note:<p>It is quite fascinating how computers are really just bits of 0&#x27;s and 1&#x27;s. What a magical machine built upon a layer of boolean logic. What an incredible feat.
gmadsenover 4 years ago
How does this compare to the NAND to tetris course?
评论 #26046426 未加载
bcheungover 4 years ago
I wonder what is different in the Second Edition. I own the first and absolutely love it.<p>Also loved the nand2tetris course.
michaelmroseover 4 years ago
Is there any plan to offer the work in progress as an eBook prior to release?
rudedoggover 4 years ago
How does this compare to &quot;Digital Design and Computer Architecture&quot; by David and Sarah Harris? Can anyone who has read both comment?<p>I&#x27;ve been wanting to learn more about the fundamentals of how computers work. I&#x27;m also interested in exploring FPGAs.
de_niedover 4 years ago
Better alternative: <a href="https:&#x2F;&#x2F;pages.cs.wisc.edu&#x2F;~remzi&#x2F;OSTEP&#x2F;" rel="nofollow">https:&#x2F;&#x2F;pages.cs.wisc.edu&#x2F;~remzi&#x2F;OSTEP&#x2F;</a><p>It&#x27;s also free. Does not cover discrete math and assembly afaik.
sunsetSamuraiover 4 years ago
do you need any external resources to go through this book?
评论 #26043881 未加载