I went to a university for four years to learn how a computer works from power plug to screen. Code: The Hidden Language of Computer Hardware and Software teaches much of what I learned at school.
In Code, Charles Petzold gives readers an excellent history lesson that explains how a computer works. He assumes you know nothing about the internals of a computer and builds you up with the fundamental concepts.
Before getting anywhere close to a computer, the reader is taught Morse code, Braille, and other systems to describe how communications can be broken into simpler forms. If you read Code, then you’d also learn some basic electronics and develop an understanding of how circuits work. While learning all these techniques, readers meet the historical figures that created these systems and the context surrounding the systems. The history is fun, fascinating, and thought provoking. In fact, it was probably my favorite part of the book.
While I couldn’t put the first part of the book down and cranked through it in a day, I hit a wall with the second portion of the book. At some point, Petzold got too deep into circuit diagrams and beat the subject nearly to death. I suppose it was necessary to get readers to reach an understanding of computers, but I think he spent a lot of time in the weeds.
Even with my big complaint about the book, Code is still very good. I have not read any other book that brings so much about computers together in one place. It is a worthy book for a software developer to have in their collection.