Back to the bookshelf

Typographic jacket · original cover not fetched

FROM THE SHARED SHELF · 2006–2026 SAMPLE

Code: The Hidden Language of Computer Hardware and Software

Charles Petzold

57 readers recommend it across 39 discussions

Topics are model-inferred labels.

Keep it on your reading list

THE WORD OF MOUTH

What made it worth passing on?

Original Hacker News comments, in the readers’ own words.

pid0x17
Code: The Hidden Language of Computer Hardware And Software by Charles Petzold. I read it in my second year of studying computer-science during the summer break, and it completely changed how I view computing. First of all, the contents alone are quite valuable, even though it is an old book, as it basically walks you through building a simple relay computer on paper, with a CPU, RAM, simplified input devices, teaches you Intel 8080 assembly as an example of assembly programming, and then even goes over a simplified BIOS, OS, GPU and higher-level languages at the end, and it does not assume you have any previous knowledge; it starts from the basic physics behind electricity, then goes into boolean algebra, logic gates, etc. It's basically computer-architecture for the layman. Beyond the content of the book, I think the biggest mark it left on me is that it taught me that there is no magic behind the layers of abstraction, and that breaking problems and concepts down into simpler ones can make what initially seems like a very complex topic into something that someone can easily follow and understand.…
mindcrash
Code: The Hidden Language of Computer Hardware and Software by Charles Petzold https://codehiddenlanguage.com/ Algorithms to Live by: The Computer Science of Human Decisions by Brian Christian and Tom Griffiths Mythical Man Month by Frederick Brooks
Surfactant7
Old Man and the Sea. Was forced to read it in high school and promptly forgot it. Read it again and it's amazing. A short but big story about wants vs. needs with a surprising but inevitable ending. Before that, The Great Gatsby. Same thing - forced to read earlier, then decided to read again. I missed so much about it the first time around. It's kind of sad how education can tarnish classics in this way. To re-iterate another commenter, Code by Prezold is surprisingly good (based on first few dozen pages). I had low expectations based on what seemed like hype, but so far it's holding up. It reminds me of the way that James Burke in his series Connections wove what seemed to be entirely disconnected technological threads together.

Also recommended in this reply

Parker_Powell
No matter how long you've been a programmer, you're always looking for new ways to hone your craft and learn new techniques. One of the best ways to do that is by reading books on programming—as in, books that are actually about programming. Here's our list of 10 of the best. 1. Code: The Hidden Language of Computer Hardware and Software 2. Clean Code: A Handbook of Agile Software Craftsmanship 3. Refactoring: Improving the Design of Existing Code 4. The Pragmatic Programmer: From Journeyman to Master 5. Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability 6. The Mythical Man-Month: Essays on Software Engineering 7. Structure and Interpretation of Computer Programs 8. Introduction to Algorithms (The MIT Press) 9. Programming Pearls (2nd Edition) 10. The Art of Computer Programming
rramadass
You have a valid viewpoint. I think it is more due to the failure of the CS "Intelligentsia" to popularize Computing(theory) and Computer(machines) Sciences for the Layman. Computers have ushered in a most radical change in our societies and yet they are a complete mystery to most "ordinary" people. There are more popular science books on "Quantum Physics" than on "Computing/Computer Science" which is sad to say the least. But i think there is hope for the future with books like a) Code by Charles Petzold b) Algorithmics by David Harel becoming more popular.

Also recommended in this reply

cenny
The three books that I have appreciated the most when it comes to computer science must be: - Code The Hidden Language of Computer Hardware and Software (https://www.programmingbooks.dev/#code) - Grokking Algorithms (https://www.programmingbooks.dev/#grokking-algorithms) - The Little Schemer (https://www.programmingbooks.dev/#the-little-schemer) These two books I really found interesting as well: - Nine Algorithms That Changed the Future (https://www.programmingbooks.dev/extra/#nine-algorithms-that... (https://www.programmingbooks.dev/extra/#nine-algorithms-that-changed-the-future)) - Good Math (https://www.programmingbooks.dev/extra/#good-math)
qorrect
Not sure this one counts but it's one of the best books ever: Code by Charles Petzold - https://www.goodreads.com/en/book/show/44882.Code . Others would be: Neural Smithing ( its now obsolete but was great at the time ) https://www.goodreads.com/book/show/1153223.Neural_Smithing The Pragmatic Programmer https://www.goodreads.com/en/book/show/4099.The_Pragmatic_Pr... (https://www.goodreads.com/en/book/show/4099.The_Pragmatic_Programmer) The Effective series by Scott Myers https://www.goodreads.com/series/160060-effective-c
dawg-
I never formally studied CS, but I can strongly recommend Code by Charles Petzold. If you want to learn how a computer does what it does at the absolute lowest levels, it's a great starting point. It's all written in laymans terms so it's good as a conceptual overview or for people without a strong math background. If you're interested in diving super deep into that kind of stuff I imagine it would be a great high level overview to anchor yourself.
csnewb
The Subtle Art of Not Giving a Fuck is a cringy read, I couldn't get past the first chapter. Deep Work as a whole can be summarized in a sentence. My interpretation is: put away distractions and focus on getting things done. There's other advice there but none of it is anything you haven't heard of before. CODE is great on the other hand. Just skip the nonsense self-help stuff.
bawigga
The Handmaid's Tale - Margaret Atwood The 4-Hour Body - Tim Ferriss - Lot's of anecdotes from Ferriss' own experiments. S. - by J.J. Abrams - Layers upon layers. Unlike anything I've read before and a true Abrams experience. Check it out if you haven't heard of it! Code: The Hidden Language of Computer Hardware and Software - Charles Petzold - Fascinating PopSci book on the origins of Computers and Code. Each chapter seems to build on the knowledge you've built from previous chapters. Interesting read for the programmer/computer engineer and VERY approachable.

Also recommended in this reply

Top19
"Mathematics: From the Birth of Numbers". If you've ever read "Code" by Charles Petzold, it's as illuminating as that was. Also a little bit tragic, makes you realize there is a lot of fun and beauty and even social history in math. I didn't realize there is also a lot of complaints in how math is taught, and that the arithmetic we all learn is considered the most boring part.

Also recommended in this reply

ctrlp
If you consider C to be language-agnostic, here are some gems. These are personal favorites as much for their excellent writing as for their content. The Unix Programming Environment was published in 1984. I read it over 20 years later and was astonished at how well it had aged. For a technical book from the 80's, it is amazingly lucid and well-written. It pre-dates modern unix, so things have changed but much that goes unstated in newer books (for brevity) is explicit in UPE. (Plus, the history itself is illuminating.) It gave me a much deeper understanding of how programs actually run over computer hardware. Examples in C are old-school and take a bit of close reading but oh so rewarding. https://www.amazon.com/Unix-Programming-Environment-Prentice... (https://www.amazon.com/Unix-Programming-Environment-Prentice-Hall-Software/dp/013937681X) Mastering Algorithms in C. Another fantastically well-written book that shows (with practical examples) how to implement common algorithms. This is just such a great book! https://www.amazon.com/Mastering-Algorithms-Techniques-Sorti... (https://www.amazon.com/Mastering-Algorithms-Techniques-Sorting-Encryption/dp/1565924533) Also:…

Also recommended in this reply

i0nutzb
Oh, that's easy: Code, by Charles Petzold [1]. One of the best book I ever read, that teach you about how computers work. The best thing is that it doesn't starts with any assumption and it gets you from the very basic - how a CPU works, how memory works - to fairly complex things (how video graphics work, how color video works and so on). [1]: http://amzn.to/2g6Lcfo
yumaikas
Code: The Hidden Language of Computer Hardware and Software was one of the most formative books for my programming self education. I've tried to loan it to several of my friends more than once, and it was a gift to me. Also had a strange case of loaning out C# 4.0 in a Nutshell and never getting it back, but I would do it again (with an updated version). Albahari is good at writing a reference without being too boring, and C# has some legitimately interesting sides in how it does some things, like it's dynamically compiled regexen.

Also recommended in this reply

mindcrime
The Four Steps To The Epiphany - Steve Blank Code by Charles Petzold Artificial Life - Steven Levy Time Reborn - Lee Smolin The Singularity is Near - Ray Kurzweil Surfaces and Essences - Douglas Hofstadter How to Measure Anything - Douglas Hubbard -- One of my favorites is How Not to Be Wrong by Jordan Ellenbreg I have that on my list of "to read real soon now". Sounds fascinating.
mbrd
If you haven't already read it, "Getting Things Done" by David Allen is one of the best known productivity books. Some people I have spoken to say his method isn't for them but I've found it useful, even if I haven't implemented everything he suggests. I'd also recommend "Code: The Hidden Language of Computer Hardware and Software" by Charles Petzold. It starts at simple circuits and builds up a picture of how computers work. It has really helped me get my mental models of what's going on inside a computer straightened out!

Also recommended in this reply

DarkTree
Code: The Hidden Language of Computer Hardware and Software by Charles Petzold. A great book that explains how computers actually work through number systems and the logic that acts on those systems. You start with the theory behind binary numbers and work your way through electrical circuits, logic gates, RAM, transistors, and the operating system as you build your fundamental knowledge of the inner workings of computers. It's pretty cool.
cfeduke
Eloquent Ruby[1] by Russ Olsen If you are an experienced programmer coming to Ruby this is definitely the place to start. Especially if you are a Java or .NET EE-indoctrinated programmer. The people who maintain your code after you will be thankful that you read this and wrote idiomatic Ruby. If you just want to learn Ruby or read an excellent technical book as mind food this book is also a great choice. (Code by Petzold is actually my favorite technical book, but its already been picked.) [1] http://eloquentruby.com/

Also recommended in this reply

davidxc
If you're not too familiar with hardware or how computers work at a low level (assembly language, instruction sets, etc), then I would think about reading Code: The Hidden Language of Computer Hardware and Software. It starts off with a story of two kids communicating to each other with flashlights in Morse code, and slowly builds up into how a computer works.
jrubinovitz
I have done work at a charity that mails donations of books to prisons called "Books Through Bars", and I am always excited to get a request for books on programming. You may want him to send a request to them, there will be some lag time, but it sounds like he has a bit of time left. I'd go with "Code: The Hidden Language of Computer Hardware and Software" or a Donald Knuth book.