Code: The Hidden Language of Computer Hardware and Software
Enlarge cover
Rate this book
Clear rating

Code: The Hidden Language of Computer Hardware and Software

4.34 of 5 stars 4.34  ·  rating details  ·  1,507 ratings  ·  164 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 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

Structure and Interpretation of Computer Programs by Harold AbelsonIntroduction to Algorithms by Thomas H. CormenThe  C Programming Language by Brian W. KernighanLearn You a Haskell for Great Good! by Miran LipovačaLand of LISP by Conrad Barski
My Favorite Computer Science Books
6th out of 18 books — 22 voters
Moving Your Blog by Darryl ErentzenReality Is Broken by Jane McGonigalCode by Charles PetzoldThe Orphan Conspiracies by James MorcanThe Information by James Gleick
Geeky/Techy Books
3rd out of 25 books — 35 voters


More lists with this book...

Community Reviews

(showing 1-30 of 3,000)
filter  |  sort: default (?)  |  rating details
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Savvas Katseas
Απιστευτογαμάτο βιβλίο σχετικά με την ιστορία των υπολογιστών και του κώδικα -- όπου ως κώδικα, ο συγγραφέας ορίζει οποιοδήποτε σύστημα κωδικοποιημένης επικοινωνίας με "κορώνα" το δυαδικό. Βλέπουμε σε μάκρος -αρκετές φορές βασανιστικό μάκρος- την κάθε ανακάλυψη που οδήγησε στο ν' απολαμβάνουμε σήμερα τους προσωπικούς υπολογιστές: από τους τηλεγραφικούς αναμεταδότες και τον κώδικα Μορς ως την άλγεβρα του Μπουλ και από εκεί ως την συμπίεση εικόνων.

Μεγάλο μέρος του βιβλίου αφιερώνεται στον ηλεκτρισ...more
K.C.
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
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
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
Hunter
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
Michael
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...more
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.
Reyn
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...more
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...more
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
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
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
Steve Losh
A fantastic book that bootstraps the idea of a computer from everyday things like morse code flashlight signals. The writing style is engaging and fun, and there are plenty of diagrams and drawings to make things clear.

The first third to half of the book is dedicated to building very simple "logic gates" and circuits out of simple components like telegraph relays. A little basic knowledge of electricity is helpful.

The next chunk of the book is about machine code. This is going to be a bit painfu...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
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
« 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 Elements of Computing Systems: Building a Modern Computer from First Principles
  • The Little Schemer
  • Hacker's Delight
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • The Practice of Programming
  • Beautiful Code: Leading Programmers Explain How They Think
  • Code Complete
  • The Algorithm Design Manual
  • Coders at Work: Reflections on the Craft of Programming
  • Concepts, Techniques, and Models of Computer Programming
  • The Art of Unix Programming
  • The Passionate Programmer
  • Compilers: Principles, Techniques, and Tools
  • Advanced Programming in the Unix (R) Environment
  • Where Wizards Stay Up Late: The Origins of the Internet
  • Purely Functional Data Structures
  • Seven Languages in Seven Weeks

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

“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…