Charles Petzold


Code
The Hidden Language of Computer Hardware and Software
2nd Edition

ISBN: 978-0-13-790910-0
Microsoft Press, 2022, 480 pages

Code book cover

The classic guide to how computers work, updated with new chapters and interactive graphics

Computers are everywhere — most obviously in our laptops and smartphones, but also our cars, televisions, microwave ovens, alarm clocks, robot vacuum cleaners, and other smart appliances. Have you ever wondered what goes on inside these devices to make our lives easier but occasionally more infuriating?

For more than 20 years, readers have delighted in Charles Petzold's illuminating story of the secret inner life of computers, and now he has revised it for this new age of computing. Cleverly illustrated and easy to understand, this is the book that cracks the mystery. You'll discover what flashlights, black cats, seesaws, and the ride of Paul Revere can teach you about computing — and how human ingenuity and our compulsion to communicate have shaped every electronic device we use.

This new expanded edition explores more deeply the bit-by-bit, gate-by-gate construction of the heart of every smart device: the central processing unit that combines the simplest of basic operations to perform the most complex of feats. Along with new chapters, Petzold created a new website, CodeHiddenLanguage.com, that uses animated interactive graphics to make computers even easier to comprehend.

From the simple ticking of clocks to the worldwide hum of the internet, Code reveals the essence of the digital revolution.

The book has been reviewed online by Patricia E. Moody on Blue Heron Journal and on Instagram by @booksthatstay.

An errata list is available on the Microsoft Press site.


The Annotated Turing
A Guided Tour through Alan Turing's Historic Paper on Computability and the Turing Machine

ISBN: 978-0-470-22905-7
Wiley, June 2008, 384 pages

The Annotated Turing book cover

The Turing Machine is an imaginary — not even quite hypothetical — computer invented in 1936 by English mathematician Alan Turing (1912–1954) to help solve a question in mathematical logic. As a byproduct, Turing also founded the field of computability theory: the study of the abilities and limitations of digital computers.

This book presents Turing’s original 36-page paper (and a follow-up 3-page correction) with background chapters and extensive annotations, explaining many of Turing’s statements, clarifying his discussions, and providing numerous examples. Interwoven into the narrative are the highlights of Turing’s own fascinating life.

Mathematician and author Martin Davis has written “Petzold will be a stalwart companion to any reader who undertakes to read Turing's classic with his aid. The Annotated Turing will also be quite enjoyable to a more casual reader who chooses to dip into various parts of the text.”


Full Texts of Obsolete and Out-of-Print Books
of Interest Mostly to Historians,
Nostalgists, and Retrocomputing Enthusiasts

Caveats:

This section is not yet complete but I am working on it. Links are provided to access the various programming tutorials that I wrote between 1988 and 2016 (a total of over 15,000 dense pages), as well as ZIP files containing the original sample source code.

These books were written and published many years ago. The technologies they describe are either obsolete or have been significantly updated. If you're wondering why you might want to read one of these books, there's likely no reason to do so.

However, I hope that these books can provide some tools for retrocomputing enthusiasts. I'm afraid that I myself am not among their number, so I cannot provide any support for using these books or running the sample code.

In two cases — the 4th and 5th editions of Programming Windows — the ZIP files containing the original source code caused an anti-virus application to flag my entire website as "unsafe." For that reason, I have stripped those two ZIP files of all executables. If you need those executables, send me an email and I'll send you the original ZIP file.

Programming Windows, 1st edition

Programming Windows (1st edition)

Microsoft Press, 1988; 852 pages

Full text available on Google Books. A downloadable PDF is also available: Click "Read free of charge" and then invoke the vertical ellipsis at the far left.

Download original source code for the sample programs as ProgWin1.zip (190K).

 

Programming the OS/2 Presentation Manager

Programming the OS/2 Presentation Manager

Microsoft Press, 1989; 845 pages

Available for borrowing from the Internet Archive.

Download original source code for the sample programs as ProgOS2PM.zip (207K).

 

Programming Windows, 2nd edition

Programming Windows (2nd edition)

Microsoft Press, 1990; 944 pages

Full text available on Google Books. A downloadable PDF is also available: Click "Read free of charge" and then invoke the vertical ellipsis at the far left.

Download original source code for the sample programs as ProgWin30.zip (402K).

 

Programming Windows, 3rd edition

Programming Windows (3nd edition)

Microsoft Press, 1992; 983 pages

Full text available on Google Books. A downloadable PDF is also available: Click "Read free of charge" and then invoke the vertical ellipsis at the far left.

Download original source code for the sample programs as ProgWin31.zip (484K).

 

OS/2 Presentation Manager Programming

OS/2 Presentation Manager Programming

Ziff-Davis Press, 1994; 954 pages

Available for borrowing from the Internet Archive.

Download original source code for the sample programs as PMBOOK.ZIP (1.21M).

 

Programming Windows, 4th edition

Programming Windows (4th edition)

Microsoft Press, 1996; 1100 pages

Full text available on Google Books. A downloadable PDF is also available: Click "Read free of charge" and then invoke the vertical ellipsis at the far left.

Download original source code for the sample programs as ProgWin95NoExes.zip (243K). The setup program and all executables have been removed from this archive.

 

Programming Windows, 5th edition

Programming Windows (5th edition)

Microsoft Press, 1998; 1479 pages

Available for borrowing from the Internet Archive.

Download original source code for the sample programs as ProgWin5NoExes.zip (1.32M). All executables have been removed from this archive.

 

Programming Microsoft Windows with C#

Programming Microsoft Windows with C#

Microsoft Press, 2001; 1290 pages

Available for borrowing from the Internet Archive.

Download original source code for the sample programs as ProgWinCS.zip (684K).

 

Programming Microsoft Windows with Microsoft Visual Basic .NET

Programming Microsoft Windows with Microsoft Visual Basic .NET

Microsoft Press, 2002; 1303 pages

Available for borrowing from the Internet Archive.

Download original source code for the sample programs as ProgWinVB.zip (709K).

 

Programming in the Key of C#

Programming in the Key of C#

Microsoft Press, 2003; 418 pages

Available for borrowing from the Internet Archive.

Download original source code for the sample programs as ProgKeyCS.zip (203K).

 

Programming Microsoft Windows Forms

Programming Microsoft Windows Forms

Microsoft Press, 2005; 384 pages

Available for borrowing from the Internet Archive.

Download original source code for the sample programs as ProgWinForms.zip (422K).

 

Applications = Code + Markup

Applications = Code + Markup:
A Guide to the Microsoft Windows Presentation Foundation

Microsoft Press, 2006; 1002 pages

Download original source code for the sample programs as AppsCodeMarkup.zip (1.65M).

 

3D Programming for Windows

3D Programming for Windows:
Three-Dimensional Graphics for the Windows Presentation Foundatation

Microsoft Press, 2007; 430 pages

Available for borrowing from the Internet Archive.

Download original source code for the sample programs as 3DProgWin.zip (1.1M).

 

Programming Windows Phone 7

Programming Windows Phone 7

Microsoft Press, 2010

The print edition of this book was divided into two volumes:

  • The Microsoft Silverlight Edition (768 pages) is available for borrowing from the Internet Archive.

  • The Microsoft XNA Framework Edition (408 pages) is available for borrowing from the Internet Archive
  • The two print volumes share a 140 page introductory section and also include an index. Consequently, the PDF e-book has only 997 pages. Also available is the sample code.

     

    Programming Windows, 6th edition

    Programming Windows (6th edition)

    Microsoft Press, 2012; 1105 pages

    The 6th edition of Programming Windowsis still in print as an e-book. It can be purchased from the Microsoft Press Store or informIT web sites.

    Download source code for the sample programs from informIT.

     

    Creating Mobile Apps with Xamarin.Forms

    Creating Mobile Apps with Xamarin.Forms

    Microsoft Press, 2016; 1177 pages

    Full text available on Microsoft web site.

    The source code for the sample programs is available on GitHub.