Code
As I’ve discussed a couple times, I’ve been reading Charles Petzold’s Code I finished just now, and so I’d like to share some scattered thoughts:
- Petzold builds slowly but swiftly, if that makes any sense. He divides the early chapters into small, manageable chunks, talking about things like bits and bytes and Boolean logic in ways that the average layman shouldn’t have any issues with. The first 40% of the books or so fairly flies by [if you're interested in the material and willing to set aside the time to read it, that is].
- The next 20% of the book or so, though, slogs way down, as Petzold jumps from small chunks to large chunks fed to the reader at once. [If you want to compare it to the terminology of the text, he goes from feeding you 1-bit chunks to 8-bit chunks to 16-bit chunks of information at quite some speed.] It’s disconcerting, and this is the point where I lost steam in reading the book and went from reading it to skimming it. That’s unfortunate; Petzold’s voice is extremely strong and engaging early on, and it’s as if he’s like so many engineering professors I had as an undergraduate—suddenly realizing that he’s way behind the syllabus and deciding to just charge forward, Mas alla! over the next hill. My feeling on this book went from “I love it!” to “It’s teaching me a lot, and I should shut up and keep reading.” There’s a difference there, folks.
- The next 25% or so of the book actually slows up a bit, but it covers dreadfully boring material [assembly code, addressing memory, etc.]. Important stuff, and it’s covered in much the same manner as before: a balanced historical perspective told anecdotally. However, I was left wondering when there would be a quiz on the material being covered.
- The next 10% discusses high-level subjects like high-level programming languages, APIs, and things of that ilk. It’s done fairly well, with a sense of history, but the anecdotal nature is lost. At this point, the book has certainly resumed its desperate-to-finish nature.
- The final chapter of the text is an amalgam of stuff under a banner of The Graphical Revolution, but it quickly devolves into a thumbnail sketch of technologies like CD-ROM media, GIF v. JPEG, vector graphics v. raster graphics, DACs, etc. Honestly, you could get more information from these links than you would have gotten reading the final chapter. However, Petzold’s work suffers from covering an exponentially-growing sphere from the perspective of the late 1990s, so while I’m tempted to skewer the ending, any book discussing modern computing is going to be highly prone to grinding to a halt like this.
Please don’t get me wrong: the text is still quite solid, and it comes as recommended reading to people who are interested in how computers work. [Before anyone says otherwise, please understand that I'm a hobbyist administrator, trained in following manual pages, install scripts, and asking for the advice of others. I AM NOT A PROGRAMMER. The only language I've ever written working programs in is FORTRAN 77, and that almost eight years ago. I'm a high-functioning user; this is part of my self-education, serving as a foundation point.]
I would absolutely recommend handing this book to a book-savvy pre-teen who is interested in computers. Had this book been available in 1990, I might be a programmer now instead of an aerospace engineer. [I think I prefer the aero bit. I like blowing stuff up.]
