Code: The Hidden Language of Computer Hardware and Software
Below are the top discussions from Reddit that mention this Amazon book.
Books Computers & Technology Computer Science
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 everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines. It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.
Reddazon may receive an affiliate commission if you make purchases on Amazon.com through this site. Thank you for using these links to support Reddazon.
Charles Petzold
Reddit Posts and Comments
0 posts • 57 mentions • top 48 shown below
235 points • okilokii
Code: The Hidden Language of Computer Hardware and Software
I'm surprised no one has mentioned this yet. This is the best book for beginners. It will cover the basic of codes (generic), how electricity works, counting systems (binary, base ten, hexadecimal), switches, boolean logic and logic gates, memory, basic computer architecture, operating systems etc.
It assumes you have no knowledge regarding any of the topics mentioned above while using intelligent and straightforward writing.
6 points • sacheie
Code, by Charles Petzold. It is exactly what you're looking for.
8 points • radishpickles
CODE - The Hidden Language of Computer Hardware and Software
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319
2 points • Mexatt
> Tbqh, once I finish my core math & engineering reading, I do want to take a look at Nand-2-Tetris and some computer/programming books.
It's not a real memorized learning book where you have to take notes and do exercises, it's a tour through the real fundamentals of how computers work from the bits upward. You can give it a shot as light reading while you're taking a break from your real reading.
2 points • astrodexical
Code: The Hidden language of computer hardware and software
By Charles Petzold
My favourite cs book to date even though it’s less about programming and more about how computers work
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319/ref=nodl_
1 points • dauchande
Code: The Hidden Language of Computer Hardware and Software https://www.amazon.com/dp/0735611319/ref=cm_sw_r_em_apa_i_-FGIEb21BGX4T
1 points • 48911150
Thanks will watch it tomorrow.
I’ve been reading this book on the same subject:
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319
1 points • mikhaelmurmur
I think this one goes through a little bit of history:
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319
1 points • cellwall-999
I highly recommend Code: The hidden language of computer hardware and software.
1 points • tdscanuck
The book Code does a really nice job of building up from the absolute basics (a switch) to a full CPU. Code: The Hidden Language of Computer Hardware and Software: Petzold, Charles: 4708364241393: Amazon.com: Books
But, like /u/berael said, a CPU has only a few basic functions: basic math (all you really need is "add"), get a value out of memory, put a value in memory, compare two values for which one is bigger.
The program tells the CPU what order to do these basic operations and, if you do enough of them *really* fast, you get Myst or Firefox or iTunes.
1 points • JBlitzen
Grab the book “Code: The Hidden Language of Computer Hardware and Software” by Charles Petzold.
Read the reviews to learn why:
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319/
It’s less focused on the who and when than the why and how, but it should still answer your core question wonderfully.
1 points • dookalion
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319
This book covers CS fundamentals from the ground up. It’s really a history book, and covers everything from Boolean algebra to electricity, and walks you through how computers came to be. Even as someone who has had a few years of technical college courses, this book was so straightforward it really helped to organize my thoughts, and focus more on the system aspect of computing vs the technical minutiae. Wish I had read it in high school.
1 points • DoctaLlama
I highly recommend the book "Code: The Hidden Language of Computer Hardware and Software"
Amazing book that turns computers from magic to being able to understand assembly language using layman's terms and examples.
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319/ref=nodl_
1 points • CreativeGPX
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319
1 points • BataleonRider
You might find this book interesting.
1 points • TheGroovyChili
This book explains exactly that. It starts explaining ciruits and electricity, and builts its way up to explaining processors and finally assembly language (and maybe even a bit higher, don’t really remember). I read it when I first got interested in computers, and thought it was great.
1 points • MyFriendFats88
Would you like to know more?
This book:
https://www.amazon.com/dp/0735611319?ref=ppx_pop_mob_ap_share
Non-fiction about the basics and origins of computer code. Made me feel far less stupid.
1 points • mcar91
This book isn't so much about actually learning to code but about understanding the very basics of computer science. I read it last year when I was starting to learn Python and I found it to be some really fun and interesting context.
1 points • cbenjaminsmith
Been working in tech for about a decade. The best resource I’ve ever read that answered this question is a book called CODE:
“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 everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines.”
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319
1 points • GoT43894389
Machines can only understand the presence or absence of an electrical charge. This translates to 1s(presence of a charge) and 0s(absence of a charge) which is what we call binary and how data is stored and how we communicate with computers and tell them to do things. Code is just translated to these 1s and 0s(with some other layers in between).
If you want to learn more how computers came to be, I highly recommend the book: Code
1 points • olde_english_chivo
I liked this one:
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319
1 points • reddilada
Being a math major I imagine your math skills are strong. If not, make sure you are good through precalc.
Having a family also leads me to believe you have good time management skills. If not you should work on that.
Writing skill is a big plus for saving time. You will have classes outside of CS that will require a great deal of writing. Being able to quickly dust these assignments off will keep you ahead.
I wouldn't worry too much about programming language skills. Coding is the easy bit. If you can find out what languages are used in the first couple of classes, it wouldn't hurt to run through a tutorial or two, but I personally wouldn't sweat it if you don't have the time. You're just as likely to pick up bad habits.
Code: The Hidden Language of Computer Hardware and Software is a nice casual book that will give you a bit of background on your journey ahead.
1 points • HenryJonesJunior
The best resource for understanding at this level, at least at the start, is CODE by Charles Petzold.
1 points • wezlywez
I highly recommend the book Code by Charles Petzold.
It got me from a point where I really didn't have any idea how a computer fundamentally worked, to the point where I could just start to see how all these switches arranged in a certain way could create a calculator. And that you could really make one from anything, as long as you can make switches and wires.
I found the later parts of the book a little hard to follow to be honest, but the beginning really opened my eyes.
https://www.amazon.com/dp/0735611319/ref=cm_sw_r_apa_i_-fSKEb50W65S7
1 points • JavaSuck
> I want to understand how everything works in general.
1 points • Terr_
See if your local library has a copy of "Code" by Petzold, which contains a kind of "how did we get here from scratch."
1 points • samtheredditman
I highly recommend this book. It was a great primer for myself before getting into arduino and learning about circuits.
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319/ref=sr_1_2?crid=34SJGCBMQXJ5Z&dchild=1&keywords=code+the+hidden+language+of+computer+hardware+and+software&sprefix=code+the+hidden%2Caps%2C161&sr=8-2
1 points • nivenkos
I mean the book Code.
1 points • eis3nheim
Code: The Hidden Language of Computer Hardware and Software, the perfect book on how a computer works.
1 points • crashfrog
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319/ref=sr_1_2?dchild=1&keywords=code&qid=1607370638&sr=8-2
Start with this.
1 points • Beanalby
This comment does a good job, if anyone wants a more thorough telling of this, especially the first couple items, I'd highly recommend "Code: The Hidden Language of Computer Hardware and Software"
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319/
It starts with a simple explanation of people using flashlights to signal each other, and shows how things improved, bit by bit, to transistors, and logic gates, and circuits, etc.
Just check out the first couple pages on amazon, called "Best Friends", you'll get hooked!
1 points • cearnicus
For conceptual knowledge, I really like Code. It goes through the process of creating a CPU from the ground up; from signals to logic gates, to writing numbers with logic gates, to how to encode instructions with numbers. It's not quite ELI5, but should be pretty understandable. (PDF link)
For assembly programming, it's hard to say anything generic as every processor has its own assembly language. If you're working with C or C++, you probably have access to a compiler+debugger that let's you see both the C++ and the generated assembly side-by-side. You can find plenty of videos and tutorials that delve into assembly.
There are also a number of games nowadays that are essentially assembly programming. TIS-100, Shenzhen IO and Human Resource Machine come to mind. :)
1 points • quintios
I read a book named "Code" a long time ago. Very eye opening, and easily understood. It pretty much explains how you get from "1 and 0" to "calculus". :)
Highly recommended:
1 points • davertron
You might find Code by Charles Petzold interesting. It starts at the very bottom and works its way up. I really enjoyed it!
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319
1 points • krashDH
All of these replies are great I appreciate taking the time for this. I've ordered a couple books off Amazon to sink my teeth into first:
A Programmer's Guide to Computer Science
Code: The Hidden Language of Computer Hardware and Software
I saw these books' names thrown out a few times here on reddit so I thought they'd be a good place to start.
Any other material that anyone would recommend for theory, as well as maybe getting into technical?
As well, there was some mention of the online sites that have learning you can "pay" for certs. How does that work? Can you take the entire course and then if you decide you want the cert, pay for it at the end?
This is where I start to get into the weeds. If I pursue the career, I want the right toolbox. Having a 4 year degree in ME, I have the initial classes under my belt, and proof that I can and am willing to learn (and good success at it too). That's where I'm looking for advice on the bootcamp vs 2 year vs online with certs vs? I think this is one of my hangups. Or do I just choose one a stick to it?
1 points • piconet-2
The others have covered a LOT of awesome stuff!
I like a more popular science kind of approach.
The book Code: The Hidden Language of Computer Hardware and Software by Charles Petzold is an incrediblely approachable and fun start. On Amazon.
The Youtube channel called Art of the Problem offers some incredible visual explanations and intros to probability and cryptography, information theory and computer science. Start with Episode 1's playlist.
1 points • greenleafvolatile
I also had (have) this need to understand more than just the code I write.
I would recommend Code, by Charles Petzold, as a possible starting point:
Should you ever get out of this rabbit hole (you wont), sent me a card!
1 points • aaronsb
You might enjoy reading this book, which discusses several of the fundamentals you're asking about here. It doesn't specifically discuss wireless transmission encoding methods, however it covers MANY bases in a very natural language explanatory method.
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319
1 points • jb3689
Learning programming languages won't teach you a lot about how computers work. If you really are interested in getting the big picture then look at Nand to Tetris or Code: The Hidden Language of Computer Hardware and Software (I think that's the book). Both go over the big picture of what a computer is and why it wokrs
If you want to learn about technology, I have had the most success with getting specific, dedicated books (e.g. a book on Linux sysadmin, a book on distributed systems, a book on operating systems). You should learn algorithms and data structures first in my opinion (superficially, you don't need to learn deep algorithmic analysis, but you should know about tree/graph algorithms before going a lot deeper)
1 points • MrMagistrate
This seems to be what you're looking for. Great book that will take the laymen from first principles to understanding computer logic.
1 points • JonnyRocks
People have given you some good answers so I want to recommend some more general books.
This book starts off with simple codes ( Morse Code, braille) evolving into binary, octa decimal, and hex. You eventually learn the very basics of how a computer works by teaching you how to build very simple circuits. It's a very fun book to read and gives you a better understanding of how memory works which every programmer should know.
​
Code Complete - Steve McConnell
Both books are about making you a better programmer. Thinking about how to best write your code and overall be conscious about your design.
1 points • jcbages95
I think a very friendly and amazing book for understanding this is "Code": [https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319]. It starts with the very basics and it's written more on a story way rather than a technical textbook.
For a more project based approach you can check "The Elements of Computing Systems" [https://www.amazon.com/Elements-Computing-Systems-Building-Principles/dp/0262640686]. The entire book is about building a computer (using some simulation software) and it goes from very basics like logical gates all the way through processors, memory, OS, and compilers. There's also a Coursera course from the authors [https://www.nand2tetris.org/].
Finally if you want to check on a more classic textbook there's "Computer Organization and Design" [https://www.amazon.com/Computer-Organization-Design-MIPS-Architecture/dp/0124077269] which is kind of the "canonical" textbook on the subject.
1 points • csprofeddie
For the first section maybe something like Code: The Hidden Language of Computer Hardware and Software
https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319/
A nice logic design using Verilog that is short might be the appendix by Patterson and Hennessy in Computer Organization and Design titled Logic Design. Give it a google. The publisher used to provide it for free. http://www.cs.tufts.edu/comp/140/files/Appendix-C.pdf
1 points • peter-s
How to write good code:
Working in the software industry:
For a fundamental understanding of how computers actually work (highly recommended):
1 points • darjeelingdarkroast
This is what I've liked to read to better understand how computers work (I dove straight into coding as an absolute beginner and personally felt very confused and stuck on what the heck was going on, despite pretty straightforward Python lessons).
Code: The Hidden Language of Computer Hardware and Software
Structure and Interpretation of Computer Programs
But How Do It Know? - The Basic Principles of Computers for Everyone
Collection of Medium Articles breaking down elements of computer science with fun illustrations
Nand2Tetris - Building a Modern Computer from First Principals (okay it's technically code lol, but again it was helpful for me to work on this and get to computers are a very basic level. FWIW I also perused some a Finite Math textbook's chapter on Logic/Truth Tables otherwise I was swimming in the various Logic Gates. Hey, I didn't come from a STEM background! haha)
I second the previous person who said Computerphile. I also like Ben Eater for Computer Architecture stuff on Youtube.
These aren't programming podcasts but I liked these episodes:
Math Podcast -- Breaking Math episode on Cryptography (many episodes from this math podcast do touch on CS and Programming elements).
Linguistics Podcast - Linguithusiasm episode on Machine Learning
​
I don't know what level you're at with programming--just my opinion, I've yet to full click with Clean Code and the Pragmatic Programmer since they both jump straight into the Do's and Don'ts with very specific details. Soon though with just a bit more experience and grasp of things I hope to revisit both essential books!