Software Preservation Group: C++ History Collection

A comprehensive look at the historical evolution of C++, tracing its journey from Bjarne Stroustrup's early 'C with Classes' experiments at Bell Labs to its global standardization.
C++ History Collection
Paul McJones, editor
http://www.mcjones.org/dustydecks/
Last updated 13 January 2026
Abstract
This is a collection of design documents, source code, and other materials concerning the birth, development, standardization, and use of the C++ programming language.
Chronology
Sources: "C++ Timeline", D&E, page 4; HOPL-III paper.
- 1979 April: Work on C with Classes began
- 1979 October: First C with Classes (Cpre) running
- 1983 August: First C++ in use at Bell Labs
- 1984: C++ named
- 1985 February: Cfront Release E (first external C++ release)
- 1985 October: Cfront Release 1.0 (first commercial release); The C++ Programming Language published
- 1986: First commercial Cfront PC port (Cfront 1.1, Glockenspiel)
- 1987 February: Cfront Release 1.2
- 1987 December: First GNU C++ release (1.13)
- 1988: First Oregon Software C++ release; first Zortech C++ release
- 1989 June: Cfront Release 2.0
- 1989: The Annotated C++ Reference Manual; ANSI C++ committee (J16) founded (Washington, DC)
- 1990: First ANSI X3J16 technical meeting (Somerset, NJ); templates accepted (Seattle, WA); exceptions accepted (Palo Alto, CA); first Borland C++ release
- 1991: First ISO WG21 meeting (Lund, Sweden); Cfront Release 3.0 (including templates); The C++ Programming Language (2nd edition)
- 1992: First IBM, DEC, and Microsoft C++ releases
- 1993: Run-time type identification accepted (Portland, Oregon); namespaces and string accepted (Munich, Germany); A History of C++: 1979-1991 published at HOPL2
- 1994: The STL accepted (San Diego, CA and Waterloo, Canada)
- 1996: export accepted (Stockholm, Sweden)
- 1997: Final committee vote on the complete standard (Morristown, New Jersey)
- 1998: ISO C++ standard ratified
- 2003: Technical Corrigendum; work on C++0x started
- 2004: Performance technical report; Library technical report
- 2005: First votes on features for C++0x (Lillehammer, Norway); auto, static_assert, and rvalue references accepted in principle
- 2006: First full committee (official) votes on features for C++0x (Berlin, Germany)
C with Classes (Cpre)
In October of 1979, Bjarne Stroustrup had a pre-processor, called Cpre, that added Simula-like classes to C. By March of 1980, this pre-processor had been refined to support one real project and several experiments. Early descriptions were published as Bell Labs technical reports and later in SIGPLAN Notices.
Cfront releases
Release E
Release E was the February 1985 "educational" release of Cfront. Stroustrup believes that every word and every line of code of Release E was written by him. It included the core compiler components and early libraries like complex, new, stream, and task.
Documentation and Papers
Key early documents included "A C++ Tutorial" (1984) and "Data Abstraction in C++". Stroustrup also published "An Extensible I/O Facility for C++" in 1985, describing the original streams library.
Source: Hacker News


















