Software Preservation Group publishes C++ origin materials, including Stroustrup’s early Cpre notes

April 12, 2026
An old Russian document placed inside an archive box on a wooden desk.
Photo by Tahir Xəlfə on Pexels

Origins: Cpre and the birth of "C with Classes"

The Computer History Software Preservation collection has posted a trove of early C++ documents, edited and curated by Paul McJones. It has been reported that Bjarne Stroustrup’s pre‑processor, Cpre, first added Simula‑like classes to C in October 1979 and, by March 1980, had been refined enough to support a real project and several experiments — allegedly used on 16 systems by that point. Early accounts and technical reports from Bell Labs (April 1980) and a SIGPLAN paper (April 1982), later expanded into the Bell Labs report "Adding Classes to the C Language," are included; Stroustrup emphasized that those papers described only features that were already implemented and in use.

Cfront, streams, and the move to commercial release

The archive surfaces Release E of Cfront, an “educational” February 1985 release that Stroustrup believes was almost entirely his own code (save parts of a makefile); the first page reportedly carries a handwritten directory diagram and a message signed “SCD” (Steve Dewhurst). An appendix by Leonie V. Rose and Stroustrup, circa 1984, documents the original C++ streams library designed by Stroustrup — later extended into iostreams by Jerry Swartz. Cfront 1.0, released commercially in October 1985, marks the toolchain’s move out of the lab. Stroustrup himself warned that "Cfront 3 is pre‑standard and emphatically not recommended for use or further development."

Why this matters: preservation, provenance, and perspective

Why dig through dusty decks? Because origin stories matter. This collection is digital archaeology: it clarifies how C++ grew from an experimental preprocessor into a mainstream language and shows the iterative, hands‑on craftsmanship behind features many developers take for granted. For researchers and language historians, the materials (edited by Paul McJones; contact paul@mcjones.org, http://www.mcjones.org/dustydecks/) provide provenance and context — and a reminder that modern languages evolved in messy, human ways. Interested readers can explore the full collection on the Software Preservation site.

Sources: computerhistory.org, Hacker News