
Building a Modern Computer from First Principles - josh-wrale
http://www.nand2tetris.org/
======
seibelj
I recommend the associated book[0] to everyone who asks me about programming
book recommendations. The book arrives, and you are shocked at how small it
is, just a few hundred pages. If you follow all of the exercises, you get an
understanding of how logic works inside of processors (logic gates, adders,
etc.), how machine code drives them, how assembly maps to machine code, how a
basic virtual machine language (like the JVM) can compile to assembly, then
how a higher level language is designed and compiled to the VM.

After doing all of this, you make Tetris in the high level language. It's a
badass book, super well-written, and what I consider an essential text.

[0] [https://www.amazon.com/Elements-Computing-Systems-
Building-P...](https://www.amazon.com/Elements-Computing-Systems-Building-
Principles/dp/0262640686)

~~~
anton_gogolev
Haven't read the book you're recommending, but I feel it's more or less close
to Code[0] by Charles Petzold, which in itself is a fascinating read.

[0]: [https://www.amazon.com/Code-Language-Computer-Hardware-
Softw...](https://www.amazon.com/Code-Language-Computer-Hardware-
Software/dp/0735611319)

~~~
GrumpyYoungMan
The two are not at all similar. Petzold's "Code" is good but is aimed at non-
technical readers while "The Elements of Computing Systems" is more or less a
textbook that encapsulates a longitudinal slice of a 4-year computer
engineering program, complete with exercises. It's really quite impressive in
what it manages to cover (although the massive amount of material glossed over
or omitted does make me wince).

------
jpochtar
I can't recommend this book enough. I read it around 9th grade and I've never
looked at computers the same. It gives the reader confidence in understanding
how these magical machines work from top to bottom. I am seriously emphatic
about this book whenever friends ask about how computers work in the
slightest. I'm so glad to see it frontpaging HN because of what this book
taught me; I hope others will see it here and find it as great as I did

------
Osiris30
Previous discussion from a few years back:
[https://news.ycombinator.com/item?id=5888705](https://news.ycombinator.com/item?id=5888705)

------
amelius
Does this course include semiconductor physics?

~~~
adrianN
To make an Apple pie from scratch you first have to create the universe...

~~~
amelius
I was assuming that "first principles" corresponds to the point where human
design knowledge starts. Is that a strange assumption?

------
josh-wrale
BTW: Just saw this was a duplicate by clicking 'past'. I had searched by URL
and turned up 0 results. Next time, I'll try to remember to search by page
name.

------
secoif
Did this as a course on Coursera with a group of friends. Highly recommended.

------
brainary
It's a nice book, and you learn alot. Quite fun too.

Just ignore the religious stuff.

~~~
pjc50
What religious stuff?

~~~
barking
God created the nand and the flipflop? -everything else you make

~~~
quantumhobbit
The sounds more like a joke than "religious stuff". Acknowledging the cultural
existence of religion is very different from proselytizing.

------
smnplk
thank you, thank you , thank youuuuuuuuu!!!!!

