Book Review: Code

Code: The Hidden Language of Computer Hardware and Software
by Charles Petzold
Microsoft Press, 2000
ISBN-13: 978-0735611313

The fact that you’re reading this suggests that you know how computers work.  But that’s only at one level of abstraction.  In the case of the touch/point/click interface, that can be ten or more levels of abstraction above the electric signals flowing through your hardware.  Most people don’t know how logic gates and memory circuits work – and they usually don’t have to.  However, if you’re really interested in how those first few layers of abstraction work, read this book.  There’s no better introduction.

The book begins innocuously enough with discussions on Morse Code, Braille, and simple electric circuits.  And then things begin to ramp up with chapters about logic gates and binary math.  After a brain-twisting chapter on memory circuits, the author has built a theoretical machine similar to the Altair using millions of 19th century telegraph relays.  From there, technology advances to the age of integrated circuits, and the author uses an Intel 8080 to introduce memory pointers and op codes.  Without even knowing it, you’ve just learned assembly language!  Eventually, the book catches up with “modern” (late 90s) technology, and the final chapter on graphics systems should be mostly review to anyone who knows the difference between vector and raster.

Although there’s a lot of information presented here, it makes for very easy reading.  The first five chapters just breeze by.  The book can get quite tough towards the middle, especially the chapters on flip-flop circuits and memory (14 and 16 respectively).  But don’t worry if you get lost – the technical details become unimportant as the abstraction level gets ramped up.  After all, this is only for fun – only a handful of highly paid engineers have to worry about XOR gates or processor opcodes anymore.

Comments are closed.