Goodreads helps you keep track of books you want to read.
Start by marking “Code: The Hidden Language of Computer Hardware and Software” as Want to Read:
Code: The Hidden Language of Computer Hardware and Software
Enlarge cover
Rate this book
Clear rating
Open Preview

Code: The Hidden Language of Computer Hardware and Software

4.35 of 5 stars 4.35  ·  rating details  ·  2,142 ratings  ·  204 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.
Paperback, 400 pages
Published October 21st 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.

Reader Q&A

To ask other readers questions about Code, please sign up.

Be the first to ask a question about Code

Moving Your Blog by Darryl ErentzenCode by Charles PetzoldReality Is Broken by Jane McGonigalThe Information by James GleickMilestones of Science and Technology by Peter Morris
Geeky/Techy Books
2nd out of 27 books — 37 voters
Structure and Interpretation of Computer Programs by Harold AbelsonIntroduction to Algorithms by Thomas H. CormenScratch 2.0 Programming by Denis GolikovThe C Programming Language by Brian W. KernighanLearn You a Haskell for Great Good! by Miran Lipovača
My Favorite Computer Science Books
7th out of 20 books — 33 voters

More lists with this book...

Community Reviews

(showing 1-30 of 3,000)
filter  |  sort: default (?)  |  rating details
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
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
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
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
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
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
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
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
This book is quite incredible. You start with braille and simple light switches, make your way to oscillators, flip-flops and multiplexer, and suddenly you understand how computer hardware works. And that's coming from someone who already thought they "sorta" understood how it worked. I didn't really. Now I do. Best bottom-up education ever.
Travis Johnson
I really, really truly love this book. The beginning is slightly slow, but after the 1/3 mark or so, I couldn't put it down(literally. hello, 5am.)

I probably learned more about architecture from this book than the quarter in my Architecture & OS class at university.
Trevan Hetzel
With a desire to learn how the high level code (HTML, CSS, JavaScript, etc.) I write on a daily basis actually makes its way through the magical land that is a computer and returns pleasantries to a human being behind the screen, I sat down with this "Code" book. The book is very intriguing from the start, beginning with the earliest forms of code (Morse, Braille, etc.). Petzold spends a long time laying down the basic blocks of electrical engineering before progressing to how bits flow through ...more
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
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
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
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
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
Savvas Katseas
Απιστευτογαμάτο βιβλίο σχετικά με την ιστορία των υπολογιστών και του κώδικα -- όπου ως κώδικα, ο συγγραφέας ορίζει οποιοδήποτε σύστημα κωδικοποιημένης επικοινωνίας με "κορώνα" το δυαδικό. Βλέπουμε σε μάκρος -αρκετές φορές βασανιστικό μάκρος- την κάθε ανακάλυψη που οδήγησε στο ν' απολαμβάνουμε σήμερα τους προσωπικούς υπολογιστές: από τους τηλεγραφικούς αναμεταδότες και τον κώδικα Μορς ως την άλγεβρα του Μπουλ και από εκεί ως την συμπίεση εικόνων.

Μεγάλο μέρος του βιβλίου αφιερώνεται στον ηλεκτρισ
This was a wonderful non-fiction read, especially the first 15 or so chapters. Chapter 17 ("Automation"), however, was where I began to feel a bit in over my head. While that chapter was fairly thorough, when I got to later chapters and realized I couldn't quite grok what was going on in these chips, it was hard for me to tell whether I was holding myself back by not fully understanding the concepts of Chapter 17, or if Petzold was simply glossing over some of the details that might have clued m ...more
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
Rik Eberhardt
In brief: be prepared to skim through at least 25% of this book! If I had this book in a seminar freshman year, I might have completed the Computer Science program. In a very fun manner, this book presents 3 years of introductory CS curricula: discrete structures, algorithms, logic gates, ... After reading this during two cross-country flights, I better understand (and remember) classes I took 10 years ago. Almost makes me want to try again (*almost*).
Howard Jones
The first 90% of this book was excellent - building from first principles to an adding machine, then a small processor, leading you through how all the parts work. It made me want to buy a load of relays and make my own. The next section, about actual processors, basic OS design, and languages was also pretty good. However, the last couple of chapters are just a rushed list of "here's a thing we'll talk about for a couple of paragraphs", covering multimedia, GUIs and networking. The book is 15 y ...more
This is probably closer to a 3.5, but on the whole I enjoyed it. I think its main flaw is that it changes its mind a couple of times about who its audience is. Which is to say that it starts by explaining what binary is and then eventually explains every operation code on an Intel 8080 processor (there weren't all that many). So the beginning is probably too basic for the sort of reader who would enjoy the late-middle, and vice-versa. It's certainly probably not that hard to know enough about ho ...more
This book covers a variety of topics about what is going on under the hood of a computer, without muddling up the explanations with too many technical details. The author favors explaining the big picture and the components that make up that big picture, rather than staying too focused on one topic for too long and providing too many technical and insignificant details.

For example, the concepts of logic gates and boolean functions are worthy of having entire books dedicated to them, but this boo
Jim Nielsen
This was an intriguing book, though I have to admit I never fully finished it. Like your math classes in college, each chapter slowly builds on the one before it so if you fall behind or don't understand a chapter, everything after that will make less and less sense.

Nonetheless, the parts I did read and understand were very interesting. You basically learn how a computer works at the most fundamental level and you get introduced to a variety of concepts like encoding and decoding information, b
Apr 07, 2014 Reyn rated it 5 of 5 stars
Recommends it for: Everyone
Shelves: nonfiction
First off: yes, this book was written in 1999. Yes, it does include references to the state of the art at the time that seem laughable by today's standards, like $400 20gb hard drives.

What's most impressive is that, by the time the book gets around to talking about said milestones, it's easy to follow the thread that took technology from then to now. By starting with the basics of electrical engineering and building upon that foundation, Petzold changes computers from a magic boxes to the step
Kent Archie
This is a wonderful book. It claims it wants the reader to understand computers the way computer engineers do. And, if you read carefully, follow the diagrams and think through the explanations,
you will start to. He shows how the main components can be built out of the clever use of a few ordinary bits of technology, all over a hundred years old. I started programming computers about 40 years ago and have a Ph.D in computer science, so I mostly already knew everything in here. But I had the most
William Anderson
While perhaps a bit too broad overall, this book stands as an EXCELLENT introduction fo computers and code. While the breadth of its material is impressive at the same time, it means that many topics are only glossed over, while others are elaborated upon intensely. However the explanations are super clear and accessible and I was readily able to use the logic presented to help me explain concepts such as binary and hexadecimal to my 12 and 13yo students, who understood more clearly than previou ...more
Josh Hamacher
A great introduction to the fundamentals of how computers work. A little repetitive at times, but overall solid. This was written in the late 90s but at a basic level nothing much has changed since then.

Note that this is very basic; it was almost entirely a review of a few college courses to me. I still found it worth reading, though. It was a nice readable refresher course (I was gratified by how much I remembered, although I definitely didn't remember it all). More importantly, I discovered so
Geleia de Mocoto
I definitely recommend this book to anyone who's interested in learning about computer science, or even someone who's already in the field, of course.
It's a great introduction for people who want to get into the subject but have no idea where to start.
It's engaging, fun and well written, the language is accessible, and what's most important, it's full of interesting information, the kind that'll help give perspective and context to beginners. Thanks to this book I was able to understand and co
Ed Terrell
Written in 1999, Petzold undertakes nothing short of the building of a complete computer system in our imaginations from the ground up. Starting with telegraphs and relays, then moving to the basic circuits used to create gates, and finally adding a dash of Boolean logic, he makes the understanding of the mind of the computer both accessible as well as a full meal. My memory is flooded with thoughts of toggling in the loader's instructions and addresses into a PDP11 from the front panel. This in ...more
« previous 1 3 4 5 6 7 8 9 99 100 next »
There are no discussion topics on this book yet. Be the first to start one »
  • Programming Pearls
  • The Little Schemer
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • The Elements of Computing Systems: Building a Modern Computer from First Principles
  • The Practice of Programming
  • Hacker's Delight
  • The Architecture of Open Source Applications
  • Code Complete
  • Beautiful Code: Leading Programmers Explain How They Think
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • A Discipline of Programming
  • The Algorithm Design Manual
  • The Passionate Programmer
  • Advanced Programming in the UNIX Environment
  • Working Effectively with Legacy Code
  • Coders at Work: Reflections on the Craft of Programming
  • The Art of UNIX Programming
  • 97 Things Every Programmer Should Know: Collective Wisdom from the Experts

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 95 Programming Microsoft®  Windows® with C#

Share This Book

“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.” 6 likes
“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 likes
More quotes…