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.
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)
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
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)
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 (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
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)
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)
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#
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
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#
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
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:
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:
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
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)
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
Microsoft Press, 2016; 1177 pages
Full text available on
Microsoft web site.
The source code for the sample programs is available on GitHub.