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,453 ratings  ·  226 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

Structure and Interpretation of Computer Programs by Harold AbelsonIntroduction to Algorithms by Thomas H. CormenThe C Programming Language by Brian W. KernighanScratch 2.0 Programming by Denis GolikovCode by Charles Petzold
My Favorite Computer Science Books
5th out of 21 books — 38 voters
Code by Charles PetzoldReality Is Broken by Jane McGonigalThe STREAM TONE by T. GillingThe Information by James GleickMilestones of Science and Technology by Peter Morris
Geeky/Techy Books
1st out of 29 books — 42 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
Duncan Macdonald
I guess I should start by saying that this is not a book which will teach you how to program. In fact there's very little in the way of practical knowledge in this book, even when it was originally published in 2000. What the book does do (very well) is teach you how computers work from first principles. It covers computers from a bottom-up approach, rather than the much-more common top-down approach used in most books and computer classes. Now there's a very good reason to start with more pract ...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
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
Mar 02, 2014 Michael rated it 5 of 5 stars
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
Martin Lukas
In this book I learned how scientists progressed through different technologies until they invented transistors. The nhe went through the development of computer hardware, which was certainly interesting. Then he progressively went through different levels of complexity of the circuitry but even then it was explained sufficiently (which was not an easy task.

Thanks to this book I learned:
- why they assembled the computer the way they did
- how all the logic gates work internally
- how just 5 of the
I had wondered for a long time how temporary computer memory could work; how electrons moving almost instantaneously through wires could possibly store information for minutes or longer.

I had also heard a lot about logic gates, but was curious how they could be made with electrical circuits.

The first few chapters answered these questions, well and clearly. I also liked the early chapter that took logic gates and showed how they could be combined to make a simple calculator. I was less interested
"We normally like to think of a battery as providing electricity to a circuit. But we've seen that we can also think of a circuit as providing a way for a battery's chemical reactions to take place. The circuit takes electrons away from the negative end of the battery and delivers them to the positive end of the battery." (27)

"Although commonly associated with Asian cultures, the abacus seems to have been introduced to China by traders around 1200 CE." (238)

"The funny name of the operating syste
Stephen Hicks
I was originally introduced to this book by Alan Jacobs in his essay "Computer Control". In the essay, he discussed his quest to understand the "black box" that is our computers. This book did just that. Charles Petzold brings the reader from having absolutely no understanding of computers (outside of experience) and describes their evolution and progression from the very beginning. He describes the structure and nature of code (both computer language code and machine code), and he goes into exc ...more
Igor Bondarenko
Одна из тех книг, которые очень хочется прочитать в подростковом возрасте.

Книга о том, как работают компьютеры. От примеров "на пальцах" с фонариком и азбукой морзе, до создания модели реального процессора. Очень простого, но рабочего!

Для профессионала здесь нет ничего нового, кроме того, чего так не хватало на лекциях по схемотехнике в университете - интересного нарратива. Повествование, используя понятные примеры, плавно перетекает от простых концепций к все более сложным, создавая понимание к
« 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 »
  • The Little Schemer
  • Programming Pearls
  • The Elements of Computing Systems: Building a Modern Computer from First Principles
  • Structure and Interpretation of Computer Programs (MIT Electrical Engineering and Computer Science)
  • The Practice of Programming
  • Concepts, Techniques, and Models of Computer Programming
  • Hacker's Delight
  • On Lisp: Advanced Techniques for Common Lisp
  • Elements of Programming
  • Code Complete
  • Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers
  • The Art of Computer Programming, Volumes 1-3 Boxed Set
  • Beautiful Code: Leading Programmers Explain How They Think
  • The Art of UNIX Programming
  • The Algorithm Design Manual
  • The Passionate Programmer
  • Advanced Programming in the UNIX Environment
  • A Discipline of Programming

Goodreads is hiring!

If you like books and love to build cool products, we may be looking for you.
Learn more »

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…