"Code", Charles Petzold, 1999, 0-7356-0505-X, U$27.99/C$42.99/UK#25.99

%A Charles Petzold

%C 1 Microsoft Way, Redmond, WA 98052-6399

%D 1999

%G 0-7356-0505-X

%I Microsoft Press

%O U$27.99/C$42.99/UK#25.99 +1-800-MSPRESS fax: +1-206-936-7329

%P 393 p.

%T "Code: The Hidden Language of Computer Hardware and Software"

There is a nicely multilayered pun involved in the title and subtitle

of this book. First off, there is the fact that language is code, as

in a system for encoding information. Then, of course, there is code

as a common, if somewhat faulty, synonym for encryption, and

cryptography is derived from the word for "hidden." Computer people

refer to programming, the sets of instructions that make the machinery

worth more than an equivalent weight of sand, as code: source code is

the stuff written in computer languages, and object code (or machine

code) actually runs. Code, either of the programming kind or of the

protocol kind more often related to hardware, is also hidden from most

computer users.

The title, therefore, quite amply describes the book as a whole. This

is a kind of "How Computers Work" for trivia buffs, or "Computers for

the Easily Amused." Petzold takes some very important concepts,

central to the understanding of computers on a fundamental level, and

beats them to death with several large sticks. We start off, for

example, looking at the encoding of information, and particularly

encoding with binary formats. But we meander through friends

communicating after lights out, secret codes, braille, flashlights,

switches, morse code, electrical wiring, counting in different number

bases, bar codes, batteries, alphabets versus ideographs, telegraph,

Arabic numerals, and Tony Orlando and Dawn (don't ask) before we get

there. Indeed, by the time we do get there, we've forgotten where

we're headed.

(Petzold's excess of erudition trips up either himself or the reader

on occasion. Pages 68 and 103, if they aren't absolutely mutually

exclusive in giving credit for the invention of the word "bit," are

certainly confusing.)

The topics meander through logic, logic gates, logic circuits, logic

and function, and a simple adding machine. Then, having dragged the

material along at a technical snail's pace, we suddenly jump to a

"level triggered D-type flip flop," with almost no intervening

content. From that point on, the book races through hexidecimal

notation, memory architecture, programming, microchips,

microprocessors, character sets, bus architecture, operating systems,

floating point arithmetic, high level languages, and graphical

interface design. The radical shift in audience level almost makes it

seem like Petzold himself got tired of the turgid tempo of the book,

and switched texts in mid volume.

I cannot think of an audience to whom I could recommend this book.

For those who do not understand computers, the foundational ideas are

presented so slowly, and in such clouds of examples and sarcastic

humour, that the reader is likely to get lost. For those who are

familiar with computer use, but would like to explore the lower

levels, the slow pace of the work is probably even worse. In any

case, the last half of the book presents a flurry of impressions at

breakneck speed, and probably isn't suitable for anyone. The frantic

pace of this latter content ensures that the technologies really only

get a mention, and, while the background was so tediously belabored in

the first part, absolutely no framework is given in the second.

copyright Robert M. Slade, 1999 BKCODEHL.RVW 991121

====================== (quote inserted randomly by Pegasus Mailer)

rslade@... rslade@... slade@... p1@...

AV contacts : http://victoria.tc.ca/techrev/mnvr.htm

http://victoria.tc.ca/techrev or http://sun.soci.niu.edu/~rslade