3 ms·
Sorry for the plug, but you can kind of simulate that process in the nand2tetris.org course (also available on Coursera). In that course, you build a computer
by SilasX 7y ago
Sorry for the plug, but you can kind of simulate that process in the nand2tetris.org course (also available on Coursera).
In that course, you build a computer (through hardware simulators) that can run binary programs. Then you build up a programming toolchain: stack based virtual machine language that compiles to assembly, and a high level language that you compile to the VM language. You also write the assembler that translates your assembly into ones and zeros, which are like the punch cards.
So you can simulate what it's like to be writing the binaries: if you take out the compilers, you can go through the process of manually translating your high level code into punchcards. The high-level lines become stack operations, which become assembly commands, which become binary words.
(For efficiency reasons, you'd probably program directly in assembly where possible, but you can add on the abstraction levels.)
- asdfman123 7y agoThat sounds like a great course. Plugs are welcome when they benefit the readers -- they're only bad when they only benefit the authors.
- SilasX 7y agoFair enough. I was just worried that HNers might feel that that course gets promoted too much here. (IMHO, nand2tetris deserves that level of promotion! I just recently gave a talk about it for the Austin Python meetup.)