![]() |
|
Code, The Hidden Language of Computer Hardware and Software, by Charles Petzold, is the clearest presentation I have ever encountered about what really goes on "under the hood" of the computer. It is a truly masterful presentation of how computers work at the level of electronic circuitry and machine language. Although targeted to the layperson, most techies will find it eye-opening. Programmers who have no experience with assembly-language programming will surely discover a deeper understanding of their craft, and even those who do have such experience will learn quite a bit.
I have just a couple of criticisms. The first is that the author should have expanded on the Turing (aka Church-Turing or Church-Markov-Turing) thesis. This would show that a computer as conceptually simple as the one developed in the book (which has a very small and simple "instruction set") can, theoretically, compute anything that can be computed (except for constraints of memory), and in this sense is every bit as "real" a computer as the one in the Data Center or on the desktop.
I also would have liked a discussion of software layering or structured computer organization, to show how we can start with bare bones hardware, write a few routines to add a little functionality, use those routines to build ever more complex and higher-level functions, and in this way, bootstrap ourselves to a fully functioning computer such as those we use every day. These criticisms are quite minor in the context of Petzold's brilliant presentation of the fundamentals.
Code is mostly an easy and entertaining read, with a bit of tough going in areas. I recommend it to the curious layperson as well as the seasoned software professional and, especially, to the student.
-- Dan Lewis (Dan.Lewis@barclaysglobal.com)
|
Explanation of ERCB rating scale:
|