Code: The Hidden Language of Computer Hardware and Software

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Code: The Hidden Language of Computer Hardware and Software
Code The Hidden Language of Computer Hardware and Software.jpg
AuthorCharles Petzold
SubjectComputer architecture, computer science
PublisherMicrosoft Press
Publication date
29 September 1999
Pages393
ISBN978-0735605053
Websitewww.charlespetzold.com/code

Code: The Hidden Language of Computer Hardware and Software (1999) is a book by Charles Petzold that seeks to teach how personal computers work at a hardware and software level. In the preface to the 2000 softcover edition, Petzold wrote that his goal was for readers to understand how computers work at a concrete level that "just might even rival that of electrical engineers and programmers" and that he "went as far back" as he could go in regard to the history of technological development. Petzold describes Code as being structured as moving "up each level in the hierarchy" in which computers are constructed.[1] On June 10, 2022, Petzold announced that an expanded second edition would be published on August 19, 2022 and he is building a companion interactive website.[2]

The idea of writing the book came to him in 1987 while writing a column called "PC Tutor" for PC Magazine.[3]

Chapter Outline[edit]

  1. Best Friends
  2. Codes and Combinations
  3. Braille and Binary Codes
  4. Anatomy of a Flashlight
  5. Seeing Around Corners
  6. Telegraphs and Relays
  7. Our Ten Digits
  8. Alternatives to Ten
  9. Bit by Bit by Bit
  10. Logic and Switches
  11. Gates (Not Bill)
  12. A Binary Adding Machine
  13. But What About Subtraction?
  14. Feedback and Flip-Flops
  15. Bytes and Hex
  16. An Assemblage of Memory
  17. Automation
  18. From Abaci to Chips
  19. Two Classic Microprocessors
  20. ASCII and a Cast of Characters
  21. Get on the Bus
  22. The Operating System
  23. Fixed Point, Floating Point
  24. Languages High and Low
  25. The Graphical Revolution

Content[edit]

Petzold begins Code by discussing older technologies like Morse code, Braille, and Boolean logic, which he uses to explain vacuum tubes, transistors, and integrated circuits. Code is notable for its explanations of historical technologies in order to build the pieces for further understanding. Electricity is explained through the example of a basic flashlight, which is then expanded upon through the explanation of the electrical telegraph. He noted that "very smart people" had to go down the "dead ends" of mechanical computers and decimal computing before reaching a scalable solution—namely, the electronic, binary computer with a von Neumann architecture. The book also covers more recent developments, including topics like floating point math, operating systems, and ASCII.

The book focuses on "pre-networked computers" and does not cover concepts like distributed computing because Petzold thought that it would not be as useful for "most people using the Internet", his intended audience.[3] Specifically, he said in an interview that his "main hope" in writing Code was to impart upon his readers a "really good feeling for what a bit is, and how bits are combined to convey information".[3]

Reception[edit]

Software engineer and blogger Jeff Atwood described Code as a "love letter to the computer".[4]

Publishers Weekly, shortly after Code's publication, said "Initial response, at least among traditional tech book readers, has been positive" and quotes the book's editor, Ben Ryan, as saying "We're trying to cross the boundary of the computer section, and break out Code as general nonfiction science". It also praises both the quality of the physical book and the style of the writing as easy to read and understand.[5]

Ryan Holihan, writing for Input, calls Code "excellent" and that "it is, by far, the most straightforward way of explaining the earth shattering power humans can wield when working with 1s and 0s", in a brief but positive review.[6]

Code has been included in the syllabi of post-secondary education technical courses, such as "Fundamentals of Modern Software" where it was called "a little dated, but it is a really clear and incredibly accessible presentation of how computers get from electrical currents flowing down wires to programs you can actually use"[7] and other introductory and mid-level computer science and engineering courses.[8][9][10][11]

See also[edit]

References[edit]

  1. ^ Petzold, Charles (16 August 2000). Code: The Hidden Language of Computer Hardware and Software. Choice Reviews Online. Vol. 38. Microsoft Press. pp. 38–0334. doi:10.5860/choice.38-0334. ISBN 0-7356-1131-9. S2CID 60929579.
  2. ^ Petzold, Charles (10 June 2022). "Announcing "Code" 2nd Edition". charlespetzold.com. Retrieved 10 June 2022.
  3. ^ a b c Wall, David. "Amazon.com Interview: Charles Petzold". Amazon.com. Retrieved 13 November 2019.
  4. ^ Atwood, Jeff (3 January 2007). "If Loving Computers is Wrong, I Don't Want to Be Right". Coding Horror. Retrieved 13 November 2019.
  5. ^ "Blazing New Trails". Publishers Weekly. Vol. 246, no. 43. 1999-10-25. pp. 30–31. Retrieved 2022-05-26 – via EBSCOhost.
  6. ^ Ryan Houlihan (20 January 2021). "Want to learn to code? Read this book first". Input. Retrieved 26 May 2022.
  7. ^ James grimmelmann (2017). "Fundamentals of Modern Software Syllabus". james.grimmelmann.net. Retrieved 26 May 2022.
  8. ^ Finlayson, Ian. "CPSC 305: Computer Systems and Architecture". ianfinlayson.net. Retrieved 26 May 2022. Computer Systems and Architecture
  9. ^ Kevin Driscoll. "Computational Media" (PDF). dh.virginia.edu. Retrieved 26 May 2022.
  10. ^ Cal Lee (2017). "INLS 465: Understanding Information Technology for Managing Digital Collections". ils.unc.edu. Retrieved 26 May 2022.
  11. ^ Kao (2011). "An Introduction to Computer Science for Everyone Spring, 2011" (PDF). users.cs.northwestern.edu. Retrieved 26 May 2022.

External links[edit]