Code: The Hidden Language of Computer Hardware and Software

Category: Computer Science
Author: Charles Petzold
4.7
All Stack Overflow 20
This Year Reddit 69
This Month Stack Overflow 6

About This Book

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.

Comments

by codeificus   2019-07-21

The 86 stands for the instruction set for the cpu. Basically, every chip designed in the world accepts input and output, but in different ways (different numbers of connections, ordering). All of those chips have more or less backwards compatibility with regard to that, so it makes it easier for others to develop around that.

So there is a meaning conveyed, though it probably isn't important to you if you aren't developing hardware or writing assembly.

I strongly recommend Code by Charles Petzold which explains the origins of these chipsets. Basically Intel put out the 8080 in 1974 which was an 8-bit processor, then the 8086 in 1978 was a 16-bit processor, so they just ran with the number scheme (6 for 16 bit). The "80" from 8080 probably came from IBM punchcards which were used for the US census (since the 1920s!), which is actually how IBM started, basically as the child of Herman Hollerith who built automated tabulating machines in the late 19th century. Also this is to blame for the 80-character terminal convention. Blame IBM.

by Lesabotsy   2019-07-21

This should answer the question: Code: The Hidden Language of Computer Hardware and Software.

by ahiddenmessi2   2019-07-21

https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319/ref=nodl_ This book says about everything

by pixel_sharmana   2019-07-21

Code: The Hidden Language of Computer Hardware and Software by Charles Petzold

The book starts with very simple binary logic, then how to create your own transistor out of bent wire and batteries, building logic gates out of transistors, creating your own assembly language, then implementing BASIC on top of that, and finally screens and pixels

by ChickeNES   2019-07-21

https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319

https://www.amazon.com/dp/0226458121

https://www.amazon.com/dp/0226750213

https://www.amazon.com/dp/0201835959

https://www.amazon.com/dp/0393306763

https://www.amazon.com/dp/039331152X

https://www.amazon.com/dp/0393061329

by anonymous   2019-07-21

CODE: The Hidden Language of Computer Hardware and Software

By Charles Petzold

This is a good book for conceptual hardware design. Petzold may be the best computer tech writer around.

http://www.charlespetzold.com/code/

http://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319

by anonymous   2019-07-21

Stackoverflow is not the appropriate venue for this kind of question, but if you'll just read this book it explains exactly what you're asking: http://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319

by okozmey   2019-07-21

Hi! 1.For you as a human. And the first advice is not give up! We all meet with problems. Problems are our part of life.

  1. For you as a future Software Engineer.

You can start with these books:

  1. Code The Hidden Language of Computer Hardware and Software (https://www.amazon.com/Code-Language-Computer-Hardware-Software/dp/0735611319)
  2. Computer Science: An Overview(https://www.amazon.com/Computer-Science-Overview-Glenn-Brookshear/dp/0133760065)
  3. Introduction to Computing Systems(https://www.amazon.com/Introduction-Computing-Systems-Gates-Beyond/dp/0072467509)

These books should give you a good fundamental knowledge about CS(History of Computing, Computer Architecture, etc).

IF YOU NEED SOME ADDITIONAL ADVICE JUST LET ME KNOW. I'LL BE HAPPY TO HELP YOU!

by WishboneTheDog   2019-07-21

It has a pretty wide scope, but it's awesome, especially if you are interested in the history:

Code: The Hidden Language of Computer Hardware and Software

by Bizkitgto   2019-07-21

You need to read the book Code by Charles Petzold. All your answers are there. This book is truly fascinating!

by PintSizedCat   2019-07-21

It's not strictly a development book and I believe that I've mentioned it in another answer somewhere but it's a book I really believe all developers should read, from php to Java to assembly developers.

Code

It really brings together what's under the hood in a computer, why memory shouldn't be wasted and some of the more interesting parts of the history of computing. It's an introduction to the computer and what it is. It gave me my ultimate passion for low level programming and helped me understand pointers and memory more than any other computer.

by anonymous   2019-07-21

You might find Charles Petzold's Code an interesting read:
http://www.amazon.co.uk/Code-Language-DV-Undefined-Charles-Petzold/dp/0735611319

by PintSizedCat   2019-07-21

I'd very much suggest that you read the book Code, it gives a detailed history of how the computer evolved from different systems.

It's very engaging and will explain to you how things evolved from morse code through to a simple adding machine and then on to some assembly. It should give you a picture of exactly how machine instructions are interpretted and used by the hardware of a CPU, memory, etc.

by HeterosexualMail   2019-01-13

We did something similar as well. The labs were tons of fun. I remember having to run a couple dozen lines of code through the CPU cache on a test once, including some sneakery of using code as data at one point. I do appreciate having done it, but I'm not sure how much practical lasting value that really contributed.

That said, for those who are interested in this there is The Elements of Computing Systems: Building a Modern Computer from First Principles , more commonly known as "NAND to Tetris".

Petzold's Code is excellent as well.

Edit: Actually, while I've suggested those two let me throw Computer Systems: A Programmer's Perspective into the mix. It's a book we used across two courses and I really enjoyed it. We used the 2nd edition (and I have no issue recommending people get a cheaper, used copy of that), but there is a 3rd edition now. Being a proper text book it's stupidly priced (you can get Knuth's 4 book box set for $30 more), but it's a good book.

Anyone have suggestions similar to that Computer Systems's text? I've always wanted to revisit/re-read it, but could always used a different perspective.

by gilmi   2019-01-13
by userbinator   2018-11-27
If you would like to start at a slightly lower level, Charles Petzold has written a great book on the subject:

https://www.amazon.com/Code-Language-Computer-Hardware-Softw...

by haberman   2018-11-15
> I'm not really sure such a thing exists (or can exist). Verilog isn't "programming" in any way most developers are familiar with, it's a way of describing how logic gates are interconnected.

I've just finished reading Code (https://www.amazon.com/Code-Language-Computer-Hardware-Softw...) that builds up a RAM array and 8-bit CPU starting from relays. I'm familiar with the concepts. I'm just looking for something that explains how to express these concepts using Verilog.

by berniesanders45   2018-11-10

I don't understand what you are asking, but I will try to answer by giving you several books.

https://toptalkedbooks.com/amzn/0735611319

https://toptalkedbooks.com/amzn/1284055914