Live data from Hacker News

The Joy of Nand2Tetris

tristanrhodes.com

11–20 of 43 posts

Re: The Joy of Nand2Tetris

#11
post #5

There's a gamified version of nand2tetris available on Steam called "Turing Complete" ( https://turingcomplete.game ). I completed it up until the assembler challenges, and I felt the same way as the author. Granted I knew Kmaps, etc. from my uni days, but given the nand2tetris book you might be able to figure it out.

That game is early access but hasn't been updated for 2 years so is probably going to stay that way. Is it compete enough?

Re: The Joy of Nand2Tetris

#12
I can't recommend nand2tetris highly enough – it's a great crash course in computer architecture, operating systems, compilers, etc. but also it's just mega fun.

A big part of the joy came from making up my own extra credit side quests: implementing a compile-to-WASM emulator for the hack machine, adding optimisations to the compiler to produce smaller and/or faster programs, etc.

Re: The Joy of Nand2Tetris

#13
post #10
post #9

Having done nand2tetris before doing various digital logic courses, I feel like the first portion falls a little short of its tagline of making a computer from modern first principles. It focuses too much on the specific implementation of its own architecture rather than giving the tools needed to create the architecture from scratch. It doesn’t teach things such as product of sums and kmaps which allows you to metho…

Do you have a recommendation for a book or course that teaches these things better? In particular FSMs.

Structure and interpretation of computer programs is a better nand2tertis. The issue is that it contains about 10x the information, assumes what an undergrad science student in 1980 would have known, has problems that are entire chapters of nand2tertis and uses scheme.

And it's not until the end of the last chapter that you build a stack machine in about 40 pages from memory.

Re: The Joy of Nand2Tetris

#14
post #11
post #5

There's a gamified version of nand2tetris available on Steam called "Turing Complete" ( https://turingcomplete.game ). I completed it up until the assembler challenges, and I felt the same way as the author. Granted I knew Kmaps, etc. from my uni days, but given the nand2tetris book you might be able to figure it out.

That game is early access but hasn't been updated for 2 years so is probably going to stay that way. Is it compete enough?

It's complete enough, yes. I played it up until the "main quest" was done (building a TC machine). It took approx. 20 hours and I loved it in a very similar way as the blog post author describes Nand2Tetris, so I'll have to look this one up too.

Re: The Joy of Nand2Tetris

#15
post #11
post #5

There's a gamified version of nand2tetris available on Steam called "Turing Complete" ( https://turingcomplete.game ). I completed it up until the assembler challenges, and I felt the same way as the author. Granted I knew Kmaps, etc. from my uni days, but given the nand2tetris book you might be able to figure it out.

That game is early access but hasn't been updated for 2 years so is probably going to stay that way. Is it compete enough?

IMO, yes it is complete enough (note: I only went as far as the assembler challenges, I'd done enough assembler beforehand). But I did build a general purpose computer from NAND gates up.

Development still appears to be ongoing on Discord, which is quite active. I think the dev may have bitten off more than they could chew with their last patch promise: https://www.youtube.com/watch?v=38cKko7sViw

Re: The Joy of Nand2Tetris

#17
Around 2001 I started my journey to becoming a software developer, and the first thing I really wanted to do was get a better understanding of what a computer is and does.

I stumbled upon and Nand2Tetris, and I'll be upfront and say that I found it to be a little dry and I was being honest to myself, it beyond what I was ready for.

However, it was still instrumental to helping me develop my understanding of computers. Instead of following the course normally, I decided to transfer the concepts and lessons learned and created a rudimentary computer in Minecraft. It transferred the project from a n abstract thing I struggled with to a "physical" engineering project that made the CS ideas real and tangible things that could be interacted and experimented with.

I highly recommend it to anyone.

I should like to go back and finish it, both the course and the Minecraft project(I only did part 1).

Re: The Joy of Nand2Tetris

#18
I've wanted to do Nand2Tetris for a very long time, but it just never reaches the top of the pile of "things I'd like to do".

Many years ago I built a linux system following the Linux From Scratch (LFS) guide. My experience doing it corresponds with a lot of what the author mentions.

In all this there is a slightly uncomfortable realization, at some point you need to trust the layers below, knowing everything is simply not possible.

Re: The Joy of Nand2Tetris

#19
post #10
post #9

Having done nand2tetris before doing various digital logic courses, I feel like the first portion falls a little short of its tagline of making a computer from modern first principles. It focuses too much on the specific implementation of its own architecture rather than giving the tools needed to create the architecture from scratch. It doesn’t teach things such as product of sums and kmaps which allows you to metho…

Do you have a recommendation for a book or course that teaches these things better? In particular FSMs.

I would really recommend Digital Design and Computer Architecture, I’ve got the ARM edition. I believe it covers everything OP mentioned, and I know it covers FSMs. It’s a great read if you want the tools to design your own architectures.
Post reply on HN