Code: The Hidden Language of Computer Hardware and Software

Code: The Hidden Language of Computer Hardware and Software

4.37 of 5 stars 4.37  ·  rating details  ·  786 ratings  ·  119 reviews
What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries.
Using...more
Paperback, 400 pages
Published October 18th 2000 by Microsoft Press (first published September 29th 1999)
more details... edit details

Friend Reviews

To see what your friends thought of this book, please sign up.
Structure and Interpretation of Computer Programs by Harold AbelsonIntroduction to Algorithms by Thomas H. CormenCode by Charles PetzoldArt of Computer Programming, Volume 1 by Donald E. KnuthArt of Computer Programming, Volume 2 by Donald E. Knuth
My Favorite Computer Science Books
3rd out of 16 books — 13 voters
Moving Your Blog by Darryl ErentzenReality Is Broken by Jane McGonigalMilestones of Science and Technology by Peter MorrisThe Information by James GleickRandom Rationality by Fourat Janabi
Geeky/Techy Books
17th out of 21 books — 24 voters


More lists with this book...

Community Reviews

(showing 1-30 of 2,104)
filter  |  sort: default (?)  |  rating details
Naessens
My opinion on this book is really divided : on the one hand I enjoy some chapters, on the other hand I hardly managed to restrain myself from flipping through other chapters. Basically, this book designs and builds a basic computer by introducing in each chapter a concept or a technology used inside computers. It was written from 1987 to 1999, consequently one shouldn't expect any description of newest technologies.

It starts really slowly with the first chapters, but then things get more and mor...more
Lingliang Zhang
Excellent lucid explanation of the legacy of genius that has left us with the incredible abstracted world of computers. The abstraction allows us to accomplish creations of unimaginable complexity. This is a delight to read, as it clearly goes through layers and layers of genius, great minds building upon the remarkable history of computing, leaving us with a much more worthy appreciation of the beautiful creation that is the modern computer. It goes through each step of abstraction, starting wi...more
Skyring
I wasn't quite sure what to expect in this book. Codes, I suppose, and though we start off with Morse and Braille, they are only used as illuminated stepping stones into the meat of the book, which is a look at how computers work, based on their innards.

I wish I'd had this book twenty years ago. Or thirty, for that matter, when I first began playing around with CP/M and TRS-DOS and things. The Altair wasn't ancient history then and the computer magazines advertised wire-wrapping tools. A fun way...more
Craig
I'll be honest. I only read this book because it was quoted as a must read by Joel Spolsky on a stackexchange answer about how to go about learning programming (and finding out if you want/should be a programmer).

I was a little hesitant due to the year of release. Being at least some 11 years old that's a lot of time in the tech world. Ultimately though that doesn't matter. I defy any developer/programmer/system builder to read this book and not blitz through it lapping it up. Yes if you've done...more
Damon
This book basicaly tries to take you from the very basics of how to encode information, such as how binary is used to represent complex information, to understanding how a computer uses information like this to perform intricate operations. The route between those two points is the interesting part, and there was some parts that I foudn really illuminating and important. For example, I didn't understand hexadecimal numbers (or indeed what base 4, base 8, etc) numbers meant before I read this boo...more
Simmoril
One of the biggest difficulties that is unique to Computer Science is this idea of 'layers of abstraction' - interfaces created to help hide the complexity of the underlying layer. While this can be a boon when developing, it becomes a problem when those lower layers start misbehaving, and you don't know why. Or, at a more basic level, these layers of abstraction can make it hard to understand why things are the way that they are (like why computers don't count in base 10, or why I can't run Uni...more
Mike
Dec 03, 2009 Mike rated it 5 of 5 stars Recommends it for: nerds, geeks, smarty pants
Shelves: development
Electricity is like nothing else in this universe, and we must confront it on it's own terms. That sentence, casually buried near the beginning of the book, exemplifies the engineer's muse: a striving to become aware of the inhuman, how it operates, and to find means of creating a socket for human enterprise, something to extend the fallible chassis of our flesh.

The first two-thirds or so of this book follows a double track. One track covers the ways in which meaning may be encoded into messages...more
Jean-Luc
There's a long, long list of books where my common reaction to them is "I wish I'd read this in high school, it could've set me straight much earlier!" Unfortunately, this isn't one of them... because I graduated in 1998 and this was published in 1999.

At some point in your computer science career, you will take a courses and labs in digital systems. At Stevens, when I was your age, this was 381 (Switching Theory and Logical Design) and 383 (Computer Organization). This book combines both of thos...more
Christopher Litsinger
This book was suggested as the book every programmer should read. And while I agree with that to a certain extent (and would even replace "programmer" with "computer engineer" or as one co-worker liked to say "it professional") I also think that we are currently so abstracted from the layers this book covers as to make that suggestion somewhat dubious.
What this book really does is to cover the "How Computers Work" topic deeply and thoroughly without resorting to little pictures of "bits" travell...more
Lynn
I have been an IT professional for 20 years, but I never knew what the switches on the front panel of the Altar computer were for. I do now.

In fact, because of this book, I know many things about how a computer really works that I never did before. I think this book is great for anyone, except Electrical Engineers who would be bored. Having some background in computers probably makes this book easier to get through, but Petzold assumes nothing and starts from scratch. He does a good job of makin...more
Murali Suriar
Brilliant. From Morse code with torches/flashlights all the way to a simple, but complete, von Neumann architecture computer, by way of learning to count (binary), the telegraph, mechanical relays, logic gates, transistors, and various other advances in electronics/communications.

The most impressive thing about this book is how accessible it is; it progresses smoothly from one subject to another, without assuming any previous knowledge. That said, having done a computer science degree 6 years ag...more
Christian
This book's enjoyability comes at least in part from the large, friendly illustrations sprinkled throughout, which help balance out the extremely crunchy technical details in the latter third. I'll admit I was totally lost by the end, but that's OK, I learned a lot.

This is a book for people who use computers every day and feel slightly guilty that they have little or no idea how the thing is actually doing any of the work. Petzold starts with light bulbs connected to batteries, adds telegraph-s...more
Damion Hart
Essential for understanding how digital computers work. Petzold starts with the how a flashlight can be on or off, which is the same as used in telegraphs to send messages - code. To better control the messages, switches and gates were built. Petzold describes all of this through the history in which it happened while also detailing exactly how you would build them yourself and how the electricity works inside those circuits. Once you have this base-level knowledge, he begins building a binary a...more
Tony
First off, let's be clear that this book is a few years old. 640x480 is NOT the predominate resolution anymore, and video on computers is neither small nor jerky.

If you're going to be a truly insufferable computer geek, you need a tremendous amount of knowledge. You need to understand what HTML is (and is not). You need to know what a CD-ROM is. What the Internet is (only lightly touched on). Most importantly, if you want to know the whole thing, from top to bottom, this book is where you start....more
Jon
Intimidated by digital technology? Think your computer secretly hates you? Can't understand why your device won't do what you tell it to? (Even though it is doing exactly what you told it to do...)
Read this book. All complicated technology is made up of layer-upon-layer of less complicated pieces down to some very simple straight forward parts that do only one thing in response to something else that only does one other thing. Learn from the bottom up how digital, and in some cases analog, machi...more
Scott King
Excellent. The real thing. No dancing around trying to avoid the nitty-gritty. By the time you finish this book, you'll really know how a computer works, from the origins of codes like morse code, braille, etc., to the most basic electronic components, to the construction of a full computer, and on to an overview of operating systems and programming languages. Well written and sprinkled with interesting bits of history as well as all the necessary details. Excellent companion to The Elements of...more
Joem
Amazingly well-written book that explains the complete development and workings of computers. I already knew of or understood a lot of the things covered in this book, but having read this book, I feel like I understand an entire order of magnitude more than I did beforehand. Yes, I am a technically minded person, but I feel that anyone could read this book and understand it just as well. Finally, I'm quite certain that if I had read this book in high school, I would have definitely gone into co...more
Matthew
Only gave it four stars instead of five because I think at this point it loses a bit of relevance because it is 10+ years old. But, overall, I think this is a remarkable book for anyone who wants to understand the fundamental workings of the modern PC. What's more, this book is well-written for a computer science book. A computer science writer who connects his paragraphs and writes effective lead-ins? Wow. Plus the humor is playful and provides enough smiles to make all of the boolean algebra m...more
sonofabit
Absolutely phenomenal book that's not so much about code but rather about the deep underlying concepts behind how a computer works, how it "thinks". If you've ever wanted to know more about bits and bytes and the mechanics behind the ones and zeros that everyone takes for granted as they browse facebook or listen to mp3s, this is the book for you!

There were several "AHA!" moments that FINALLY cleared up unresolved questions from my Digital Circuits class back in college; I don't know why this wa...more
Tommy Carlson
Reading Code: The Hidden Language of Computer Hardware and Software gave me some pleasant flashbacks to some of my favorite classes from getting my degree. But it also has some problems.

The first part of the book is delightful. It builds up the various pieces of a computer CPU, starting with something as simple as the telegraph, moving through logic gates to transistors and beyond. Eventually, you end up with a pretty functional CPU. It's great. (We went through a similar process in an old class...more
Chamblin
I have a BS in Computer Science. I have had 12-20 undergraduate hours containing at least some of the material in the book. It starts off on really simple stuff, like understanding the basics of electricity, then it moves on into using switches as gates, and eventually into how relays work. From there, you build (well, conceptually at least) gates, then your first flip-flops, and then you rapidly move into turning all of these ideas into a concept of a real and working computer. I thought the la...more
Chris
This is the book for anybody who wants to understand how computers work. I'm not talking about clicking mice here either. This book starts with the invention of the telegraph, talks about morse code, braille etc. and explains how all this influenced the invention of circuits, machine language, and eventually transistors and microchips. It even dips into boolean algebra and show how this influenced computer design as well. This is one of the most informative books I've ever read. For the uninitia...more
Aku
An excellent if somewhat dated introduction to computers. Very accessible. This should be an empowering read for any interested layperson who wants to look behind the scenes.

The book starts from different codes such as Morse & Braille, moves on to electricity and circuits, then logic gates, and ends up building a hypothetical computer from them. Last quarter or so covers real computers from 70's and 80's. The book focuses mostly on hardware: even the few software chapters near the end are mo...more
Cardinal Biggles
Raise your hand if you think metaphors and analogies should be used sparingly. I'll raise my hand with you. This book is for us.

After reading this book, I can see behind the pixels on my computer screen. I know what I'm really looking at. So many layers of abstraction are removed by learning about how logic gates can be arranged as processors and RAM, how code is simply a representation of those microscopic switches being flipped, and how pixels are simply a graphical interpretation of the state...more
Brian
Nov 21, 2012 Brian rated it 5 of 5 stars
Recommended to Brian by: goodreads
Shelves: nerd-stuff
(5.0) Great walkthrough of computing from number systems through assembly language

It's not perfect, so I hesitated at first before giving it the full 5 stars, but it really was a great read. It'll take a certain type of person to enjoy reading this and I found myself repeatedly asking me if it would be as enjoyable/informative for someone who knew far less about the topics covered. But for someone who has taken (perhaps many years ago) courses that cover some of these topics, the book was a trea...more
Kelly
I really loved this book, much more than I expected to. It was about two main things, computer science and electronics (well, and how they overlap). The ultimate target of discussion is the computer, but as everyone knows, this is a complicated thing. The book wasn't non-technical, but it was extremely approachable for someone who's not an expert in these areas. And if you are knowledgeable in one but not the other, it's even more interesting because see connections you never noticed before. It...more
Clarence
Most people nowadays, if they wanted to explain how computers work, would probably ensure that the reader knew binary arithmetic, then talk about processor instructions, and from there work up through the higher levels of programming.

Petzold takes an entirely different tack, which is completely centered around hardware. In fact, he starts with electric circuits, describing how a boy might build a circuit to light a lamp in his friend's house. He builds on that, getting into circuits that with mu...more
Vinh Nguyen
Oct 02, 2007 Vinh Nguyen rated it 5 of 5 stars Recommends it for: computer lovers
Computers can be found abundantly in our modern society. At home we use the computer to access the Internet to check emails, chat with long distant family members, and so on. In the office at workplace you need the computer and its softwares to help you finish some tasks. Most people know how to turn on a computer and use it. The question is... Do they know how a computer works? I mean really know what were underneath and everything else that connected together somehow to make this what we so ca...more
Matthias Ferber
This is an interesting but imperfect book, though the title is almost entirely misleading. It's actually a layman's introduction to computer architecture, by the author of the preeminent guides to Windows programming. It begins by introducing basic electric circuits and telegraphy, then relays, logic gates, and flip-flops; it works up from there to build the basic components of RAM and a CPU, then transistors, microchips, and eventually complete systems. Whether it's entirely successful as a lay...more
Jule
I LOVE this book. I regard myself an innocent computer illiterate. And Petzold helps me to walk inside an electrical circuit, a telephone, a telegraph, an adding machine, a computer, and to understand the basics behind the design, of what is going on inside. I start getting the math, the logic behind all this technology that has become pretty much the center of my life today. And I should understand the logic behind the center of my life, right?

What is so good about this book: it is written in...more
« previous 1 3 4 5 6 7 8 9 70 71 next »
There are no discussion topics on this book yet. Be the first to start one »
Code (Paperback)
Code: The Hidden Language of Computer Hardware and Software (Kindle Edition)
Code (ebook)
KOD - Ukryty język sprzętu komputerowego i oprogramowania (Hardcover)

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »
The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine Programming Windows Applications = Code + Markup: A Guide to the Microsoft® Windows® Presentation Foundation: A Guide to the Microsoft Windows Presentation Foundation Programming Windows® Phone 7 Programming Windows 95

Share This Book

Your website
“Code is not like other how-computers-work books. It doesn't have big color illustrations of disk drives with arrows showing how the data sweeps into the computer. Code has no drawings of trains carrying a cargo of zeros and ones. Metaphors and similes are wonderful literary devices but they do nothing but obscure the beauty of technology.” 3 people liked it
“In 1948, while working for Bell Telephone Laboratories, he published a paper in the Bell System Technical Journal entitled "A Mathematical Theory of Communication" that not only introduced the word bit in print but established a field of study today known as information theory. Information theory is concerned with transmitting digital information in the presence of noise (which usually prevents all the information from getting through) and how to compensate for that. In 1949, he wrote the first article about programming a computer to play chess, and in 1952 he designed a mechanical mouse controlled by relays that could learn its way around a maze. Shannon was also well known at Bell Labs for riding a unicycle and juggling simultaneously.” 2 people liked it
More quotes…