2 ms·
I highly recommend Charles Petzold's 'Code'. I originally bought it for my father, but soon ended up reading it myself cover to cover. It fills a lot of blanks
by mcmatterson 16y ago
I highly recommend Charles Petzold's 'Code'. I originally bought it for my father, but soon ended up reading it myself cover to cover. It fills a lot of blanks in in my understanding; blanks that were also glossed over in my education as well (Waterloo CS & C&O, 2002).
The book starts from the most basic 'switch and a lightbulb' circuit, and takes a stepwise approach that ends up disassembling x86 by the final chapters. Although it can be a little pandering in points, and the rigour certainly isn't there (I can't remember for certain, but I'm pretty sure it violates my 'must have footnotes' rule regarding non-fiction), in my opinion it's a wonderful nightstand read regardless.
Indeed, there are a couple of spots the book knocks it out of the park without (I think) intending to. As an example, the book presents Turing machines (not by name, mind you) as a moving head traversing through a fixed memory, whereas all of the theory I learned in school presented them as a moving tape passing through a fixed head. It's a seemingly small detail of implementation, but it made an enormous difference in my understanding of how the modern computer evolved from Turing's work. All of a sudden, an ALU + a program counter becomes a modest leap from the theory of a TM ripping through a tape.
- kenjackson 16y ago'Code' is also a great book to give to your non-coder spouse. Honestly, that book should be the text used for the "computer literacy" class in most colleges. Great book. Can't recommend it highly enough.