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.…
FROM THE HN SHELF
Code: The Hidden Language of Computer Hardware and Software
Charles Petzold
Computing · A BOOKTypographic jacket · original cover not fetched
FROM THE SHARED SHELF · 2006–2026 SAMPLE
Code: The Hidden Language of Computer Hardware and Software
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.
Code by Charles Petzold. Greeat first book for anyone going down the techy path. Will fill in knowledge gaps missing from most new people.
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
Also recommended in this reply
Personally really enjoyed Code: The Hidden Language of Computer Hardware and Software
Code: The Hidden Language of Computer Hardware and Software this book is a good read if you wanna know computer history , how it started and how it evolved
computers in general–this book opened my eyes to how everything actually works... mostly :) https://www.amazon.co.uk/Code-Language-Computer-Hardware-Sof... (https://www.amazon.co.uk/Code-Language-Computer-Hardware-Software/dp/0137909101/ref=sr_1_1?crid=3SBG8UH4KCBC6&keywords=code&qid=1668776355&s=books&sprefix=code%2Cstripbooks%2C60&sr=1-1&pldnSite=1)
Big +1 for Code by Petzold. Just started the 2nd edition that came out last month and I'm blown away by Petzold's ability to pack in meaningful, interesting information without sacrificing readability.
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
Code by Charles Petzold for a month or so after seeing it recommended here over and over. It's highly recommended for a reason! Petzold's explanations are phenomenal. Can't wait for the 2nd edition so I can reread it.
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
Also recommended in this reply
- Structure and Interpretation of Computer Programs
- The Art of Computer Programming
- Introduction to Algorithms
- Programming Pearls
- Clean Code: A Handbook of Agile Software Craftsmanship
- The Mythical Man-Month: Essays on Software Engineering
- Refactoring: Improving the Design of Existing Code
- The Pragmatic Programmer: From Journeyman to Master
- Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability
This was the exact book I came to suggest. How I wish I’d been handed this in my first year of university and not the dry textbooks teaching the same thing but making it about a dozen times more difficult.
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
I randomly picked Code off a library shelf when I was a child, not sure the exact age but probably 13 or earlier, and it drew me into programming.
Code by Petzold is 100% my choice as well. It is an incredibly good book to describe not just code but computing and ultimately computing machines. I would give my 18 year old self Code and it would've done a very good job of piecing all the college courses that I would end up taking.
I came here to mention this book. I think it's a great introduction to how computers work and well written.
That one is good too, though it can get a little obscure in some sections.. I tried reading it twice! The first time I was stuck on the memory chapter. The second time I was stalled by the clock and synchronization thing, but it's still a great book. I hope I can muster the courage to read his Annotated Turing Paper.
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)
Also recommended in this reply
Code: The Hidden Language of Computer Hardware and Software. Wonderfully written book on how computers work. It's even a good read for the curious non-technical reader. However, some chapters might be a bit hard for them. The first road block seem to be the chapter on logic gates, but with some help it's not that bad.
I feel the opposite. I read it right after taking a computer organization class in college. Both Code and the course covered very similar topics. I really enjoyed and appreciated how clear and concise and friendly of a read it was even more after taking the course.
Code: The Hidden Language of Computer Hardware and Software https://en.wikipedia.org/wiki/Code:_The_Hidden_Language_of_C... (https://en.wikipedia.org/wiki/Code:_The_Hidden_Language_of_Computer_Hardware_and_Software) comes to mind.
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
Also recommended in this reply
The author's name is "Charles Petzold" and yes "The Annotated Turing" is a great book. All of Petzold's books are excellent, in particular; "Code: The Hidden Language of Computer Hardware and Software" should be read by everybody to understand how Computers really work.
Also recommended in this reply
"Code" by Charles Petzold is a great read. It describes how computers work from the bottom up, starting with how you can get electricity to do math. I've recommended it to people of all backgrounds, and everyone loves it.
Fantastic book. I learned everything it covers in college, but the way it masterfully connects them all together is incredible and made connections in my brain that I didn't have before. There's also something satisfying about seeing incremental abstractions develop in an intuitive way.
CODE by Charles Petzold
Code: The Hidden Language of Computer Hardware and Software by Charles Petzold This one's for you if you want to learn or just recap principles of computers (and read on evolution as well). I just started reading it and found it suprisingly easy to follow. It's perfect if you like things explained step-by-step and in a simple way.
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.
Seconded. This is a good recommendation particularly for somebody who is just starting out (the OP has only done a js bootcamp and so has a very long way to go!) Pair the above with Petzold's "Code" and you get a very good idea of both the Theory and the Machine.
For a gentle introduction to algorithms and Big O, "Grokking Algorithms" is easy to read and fun. For more in depth and systematic study, Sedgwick's "Algorithms" is a very clear and beautiful book. For computer architecture, Petzold's "Code" is wonderful.
Also recommended in this reply
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.
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
"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
I am currently reading it and would definitely suggest it.
+1 to Code (Petzold). I would absolutely start with that. One of my favorite books. The build a computer course from coursera (https://www.coursera.org/learn/build-a-computer) is the natural next step after reading code.
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
Code by Charles Petzold takes this approach to explaining how a computer works. By the end he has a working system with CPU, RAM, inputs, and outputs.
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
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
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.
Also recommended in this reply
I'd recommend being a bit more specific about the things you're after. But here's two of my favourites (one technical, one business): "Code: The Hidden Language of Computer Hardware and Software", by Charles Petzold "Rework", by Jason Fried and David Heinemeier Hansson
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
I second this recommendation. "Code" is a very enjoyable read indeed.
Code by Charles Petzold Not so much programming, but very good if you're interested in how your computer actually works.
Code, highly recommended, even if the content isn't new for you, it's so neatly structured that you'll enjoy reading it anyway.
I will second the recommendation for CODE. Great book - you can even read that with your kids.
Code: The Hidden Language of Computer Hardware and Software http://www.amazon.ca/gp/aw/d/B008PGKDOO This is one of the most enjoyable reads I have had in a long time, definitely recommended. Introduction to Information Retrieval http://nlp.stanford.edu/IR-book/ This is a free digital book, very good so far.
Also recommended in this reply
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.
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
This book profoundly changed how I look at computers (and other things). http://www.charlespetzold.com/code/ Petzold's style is narrative, but make no mistake: every sentence is carefully chosen. I recommend resisting the urge to skim, lest you have to backtrack later...
http://en.wikipedia.org/wiki/Code:_The_Hidden_Language_of_Co... (http://en.wikipedia.org/wiki/Code:_The_Hidden_Language_of_Computer_Hardware_and_Software) Really good introduction to computers from relays up.
What else but Charles Petzold's phenomenal classic CODE: The Hidden Language of Computer Hardware and Software? [1] http://www.charlespetzold.com/code/ [1]
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.
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.
Ditto on "Code." As a non-programmer learning to program, it was everything I needed to know to wrap my head around how everything actually works.
Not sure if this is the right direction or not. In different ways they are all, essentially, about programming... http://www.amazon.com/Code-Language-Computer-Hardware-Softwa... (http://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319/ref=sr_1_1?ie=UTF8&qid=1328659335&sr=8-1) http://www.amazon.com/Elements-Computing-Systems-Building-Pr... (http://www.amazon.com/Elements-Computing-Systems-Building-Principles/dp/0262640686/ref=pd_vtp_b_1) http://www.amazon.com/Structure-Interpretation-Computer-Prog... (http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871/ref=pd_vtp_b_6) http://www.amazon.com/G%C3%B6del-Escher-Bach-Eternal-Golden/... (http://www.amazon.com/G%C3%B6del-Escher-Bach-Eternal-Golden/dp/0465026567/ref=pd_vtp_b_12) http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master... (http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=pd_vtp_b_13) Good luck!
Also recommended in this reply
Code by Charles Petzold. It's made me think about computers in another light. AND to be amazed at how simple things (input/output, on/off) can add up to really big and complex systems.
Tech: Code by Charles Petzold Novel: Invisible by Paul Auster Essay: Après la démocratie (French) by Emmanuel Todd
Also recommended in this reply
Code By Charles Petzold. This book is taking me back to school. Law of conservation of energy. Brilliant text
Code by Charles Petzold is an awesome hacking book. It takes you from flipping a light switch, thru simple circuits up to assembly language. It's beautiful!