Code: The Hidden Language of Computer Hardware and Software 1st Edition by Charles Petzold (PDF)

7

 

Ebook Info

  • Published: 2000
  • Number of pages: 400 pages
  • Format: PDF
  • File Size: 7.24 MB
  • Authors: Charles Petzold

Description

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.

User’s Reviews

Editorial Reviews: About the Author Charles Petzold has been writing about Windows programming for 25 years. A Windows Pioneer Award winner, Petzold is author of the classic Programming Windows, the widely acclaimed Code: The Hidden Language of Computer Hardware and Software, Programming Windows Phone 7, and more than a dozen other books.

Reviews from Amazon users which were colected at the time this book was published on the website:

⭐I think that this is the best book that I have read all year. In some sense this is the book that I have been looking for for twenty-five years–the book that will enable me to understand how a computer does what it does. And–given the centrality of computers in our age–it has been a long wait. But now it is over. Charles Petzold (1999), Code: The Hidden Language of Computer Hardware and Software does a much better job than anything else I have ever seen in explaining computers–what they really are, and how they really work.Have you ever wondered just how your computers really work? I mean, really, really work. Not as in “an electrical signal from memory tells the processor the number to be added,” but what the electrical signal is, and how it accomplishes the magic of switching on the circuits that add while switching off the other circuits that would do other things with the number. I have. I have wondered this a lot over the past decades.Yet somehow over the past several decades my hunger for an explanation has never been properly met. I have listened to people explain how two switches wired in series are an “AND”–only if both switches are closed will the lightbulb light. I have listened to people explain how IP is a packet-based communications protocol and TCP is a connection-based protocol yet the connection-based protocal can ride on top of the packet-based protocol. Somehow these explanations did not satisfy. One seemed like answering “how does a car work?” by telling how in the presence of oxygen carbon-hydrogen bonds are broken and carbon dioxide and water are created. The other seemed like anwering “how does a car work” by telling how if you step on the accelerator the car moves forward.Charles Petzold is different. He has hit the sweet spot exactly. Enough detail to satisfy anyone. Yet the detail is quickly built up as he ascends to higher and higher levels of explanation. It remains satisfying, but it also hangs together in a big picture.In fact, my only complaint is that the book isn’t long enough. It is mostly a hardware book (unless you want to count Morse Code and the interpretation of flashing light bulbs as “software.” By my count there are twenty chapters on hardware, and five on software. In my view only five chapters on software–one on ASCII, one on operating systems, one on floating-point arithmetic, one on high-level languages, and one on GUIs–is about ten too few. (Moreover, at one key place in his explanation (but only one) he waves his hands. He argues that it is possible to use the operation codes stored in memory to control which circuits in the processor are active. But he doesn’t show how it is done.)Charles Petzold’s explanatory strategy is to start with the telegraph: with how opening and closing a switch can send an electrical signal down a wire. And he wants to build up, step by step, from that point to end with our modern computers. At the end he hopes that the reader can look back–from the graphical user interface to the high-level language software constructions that generate it, from the high-level language software constructions to the machine-language code that underlies it, from the machine-language code to the electrical signals that load, store, and add bits into the computer’s processor and into the computer’s memory.But it doesn’t stop there. It goes further down into how to construct an accumulator or a memory bank from logic gates. And then it goes down to how to build logic gates–either out of transistors or telegraph relays. And then deeper down, into how the electrons actually move through a transistor or through a relay and a wire.And at the end I could look back and say, yes, I understand how this machine works in a way that I didn’t understand it before. Before I understood electricity and maybe an AND gate, and I understood high level languages. But the whole vast intermediate realm was fuzzy. Now it is much clearer. I can go from the loop back to the conditional jump back to the way that what is stored in memory is fed into the processor back to the circuits that set the program counter back to the logic gates, and finally back to the doped silicon that makes up the circuit.So I recommend this book to everyone. It is a true joy to read. And I at least could feel my mind expanding as I read it.

⭐I somehow had made it quite a while without reading this book, and I wish I’d read it earlier.Code is a very clear explanation of how computers work, taking you from how people encode information (Morse code, Braille) to the basics of electricity to boolean algebra, switches and gates , to machine language, and beyond. While you may not actually be able to build a simplistic computer from scratch after reading the book, you’ll have a greater appreciation of how how much goes behind common devices like calculators and programming languages.The books starts off slowly, using metaphors to explain the basics of encoding and basic calculation. It then gets into a deep dive about Boolean algebra and machine language, before giving a tour of the history of computing from The Difference Engine, to Hollerith Cards to microprocessors. Less technical readers may want to skim the middle sections of the book, or at least expect a slower reading pace.While some of the technology details about how “modern” computers and computer languages work are out of date, the principles are still valid, so if you were every curious about how a keyboard, file system, or a display really works, or how computers bootstrap (start up when they have no programs loaded), this book is for you.My only critique of the book is that it addresses a variety of audiences at various parts, and each class of reader might find some sections to shallow or too deep. I still recommend the book, whether you want to learn these details for the first time, or want a refresher of some things that you learned one but now take for granted.

⭐Good

⭐I am a computer programmer by trade and sincerely wish I had this book 7 years back when I started formal education. During my 4+ years in the higher education system, and even after, I and my classmates (later colleagues) were taught how to program computers (in various languages) and many of the higher level ideas in programming (Data Structures, Algorithms, Program Structure, Etcetera, Etcetera, Etcetera) but we never really learned how the computers worked inside. Even to many trained programmers, or at least me:), these beige boxes can be something of a magical black box which we don’t really understand at a fundamental beyond the point of it processing the instructions we give it in our chosen programming language. In school I recieved perhaps one single semester course that attempted to teach how these things worked inside, yet that course still skimmed on the inner workings, the teacher instead spent his time on how monitors drew pixels on the screen and how laser printers worked…..Looking back on it, I would blame the ignorance of the inner workings of computers that some programmers have on the decline of having to learn Assembly language (starting in the early nineties?), the lowest level programming language sans actual Machine Code, where one would be forced to deal with the raw inner workings of a computer naturally. I myself hope to learn it one day after reading this book 😀 Instead, I was taught the C programming language and what we learned in school became only more abstract in regards to the actual hardware…This is where this wonderful book came into play. Since I recieved it half-a-year ago, it must have been read/devoured by me a dozen times or more – it goes from teaching the make-up of various codes (morse, braille, etcetera) to showing how some simple to understand concepts can be combined until a working computer, calculator, etcetera, can be built……. it gives one a great foundation for learning what Computer Science is all about or gives a newer-generation Programmer, like me, much needed knowledge on how that beige box basically works, on a hardware level!The best thing is that those computer analogies can be finally thrown out the window – we all heard them before – like how “ram is like a table, or workspace. The bigger it is, the more things you can have ready and available at one time. The hard drive is like your drawers and cabinets. You can store more stuff there, but to use it, you have to take it out first and put it either on the table (RAM) or hold it in your hand (cache).” Petzold also uses analogies when he introdues topics but quickly moves beyond them, giving his audiences real understanding of the subject – which is very welcoming since analogies tend to explain function well but break down quickly when one is determined to learn more about a topic.It is probably one of the few computer books on my shelf that can’t get outdated and that’s good, because it still will be there in 20 years.

⭐This book is sort of the middle ground between a text book and a popular science book. It’s very readable, but I find it gives you much more rigor than your usual pop sci. I really like the extensive use of diagrams through out – this really helps to drill the concepts home.I purchased this as I had started to do a little coding myself but wanted to know how everything worked underneath the hood. This answered those questions to enough of a depth that satisfied my needs – very happy with this book.

⭐Ok, first of all – this is not a casual read if you are new to this topic. Petzold does not jump over topics or oversimplifies processes instead you will read about all the basics of a computer and code. However, the basics are already pretty profound so get ready to focus and ponder. The book is rewarding and enlightening – highly enjoyable and teaches you a few extra bits as well.I am an amateur programmer and wanted to understand how it all works. I still don’t fully understand because I probably lack the intelligence but a smarter person would be able to grasp the theory using this book.I can only recommend this book to people who are not satisfied with 20 min. youtube summaries and want to dig deeper.

⭐To be honest, I did not expect much of this book. I ordered it together with The Annotated Turing, again by Petzold. It was marked as a best seller, but that doesn’t mean much, especially when computer science is concerned.I own a great many awesome CS books. But this one went to the top of my list very quickly, perhaps just barely 20 pages in. It’s not a description of who did what, or how a particular piece of technology works. It’s a story of how our modern world came to be. And it’s a brilliant story.Petzold challenges the reader right at the start – assume you’re 10 years old and in your home, trying to talk to your friend on the other side of the street. Of course, you don’t have a phone or anything like that. You need to use technology which is freely available and will not wake up your parents. Step by step, you discover Morse code (discarding several options prior to reaching this stage). Then you solve various challenges, like assuming your friend does not live in a direct line of sight.Little by little, we learn about Braille code, simple flashlights, relays, then go on to more ambitious concepts like logic gates, flip-flops and, ultimately, a fully functional computer made of relays and other simple components (which is, I should point out, purely fictional, of course). And I enjoyed every step of this journey.The book is written with the general reader in mind, it does not target software developers or engineers. I cannot say how someone with no prior computer knowledge would find it; it is beyond my ability to imagine myself without everything I’ve learned since I began my career path as a programmer. Perhaps the point where assembly is introduced would be a bit too much, or the descriptions of Intel’s 8080 and Motorola’s 6800. But hey, we do get from flashlights to computers within 400 pages, so it can’t all be a smooth ride.Also, I should mention, the reader is bound to notice how old the book is 🙂 Many technologies that were all around us at the time of writing are already gone and that was barely 20 years ago…All in all, I probably didn’t learn much I didn’t already know, but if I ever recommend a computer book to a non-programmer this would be it. Very enjoyable and informative. You will not regret buying this.

⭐I’m pissed because I lost my copy and so I’m buying another one. This is the only book I’ve ever done this for. It’s that good. Thankfully reasonably cheap unlike many other technical books.Beside that, this is a rare unicorn of a book. It’s rigorous and written well. That’s a rare combination for this genre. It’s actually fun to read, and pretty much the standard in bridging computer engineering with software development, and is very accessible to anyone I’d say. If you’re not a particularly technical person but always wondered about the “magic” of how computers work this is perfect.It’s pretty high-level in terms of abstraction but that’s a good thing as far as I’m concerned, you can take the knowledge from this book and apply it universally.If you’re already a CompEng or EE student I’d probably look elsewhere for something a little more applied. CS students however this is perfect for you.

⭐I cannot recommend this book enough. DO NOT BUY the kindle version, buy the paperback it is EXCELLENT. It starts off very nicely with Morse Code and very clearly and understandably explains the principles of what defines a code and how Morse code and binary works in a very interesting way. It’s not a boring read at all, I really enjoy reading this book no nonsense, everything is nicely conveying the important aspects. Beautiful and very rich diagrams conveying the concepts very nicely. I absolutely love this book. It starts right from basics if you’ve never studied code before or like me want to understand how computers and it’s programs work. This book explains the fundamental concepts to enable you to understand computer hardware and software. The paperback is worth every single penny thank you.

Keywords

Free Download Code: The Hidden Language of Computer Hardware and Software 1st Edition in PDF format
Code: The Hidden Language of Computer Hardware and Software 1st Edition PDF Free Download
Download Code: The Hidden Language of Computer Hardware and Software 1st Edition 2000 PDF Free
Code: The Hidden Language of Computer Hardware and Software 1st Edition 2000 PDF Free Download
Download Code: The Hidden Language of Computer Hardware and Software 1st Edition PDF
Free Download Ebook Code: The Hidden Language of Computer Hardware and Software 1st Edition

Previous articleThe Reason Why: The Miracle of Life on Earth by John Gribbin (PDF)
Next articleWhat Is Real?: The Unfinished Quest for the Meaning of Quantum Physics by Adam Becker (PDF)