A family tree is a claim about relationships
A tree implies that each child can be understood through a parent. Programming languages evolve differently: a language can inherit syntax from one predecessor, borrow a concept from another, and be implemented with tools designed for a third. An arrow on a history chart must therefore identify what it asserts. A reader should not have to guess whether “inspired by” means syntax, implementation, personal influence, or direct organizational succession.
Our inaugural graph presents ALGOL 60, Simula I, SIMULA 67, C and C++ as a compact case study. The graph is intentionally incomplete. Its purpose is to show the kind of evidence needed for a relationship, not to reduce the history of object-oriented programming to five labels.
ALGOL 60 provided a foundation for Simula
The SIMULA language standard explicitly states that it inherits the algorithmic properties of ALGOL 60. That is unusually clear documentary support for a language-foundation edge. [1] A Computer History Museum timeline likewise describes Simula as based largely on ALGOL 60. [2]
The same museum documents an early written reference to the Simula project in January 1962. [3] That does not license treating 1962 as the final specification date for SIMULA 67. A research visualization needs to distinguish an early project, its later language standard and the times at which particular features appeared.
In our graph, ALGOL 60 → SIMULA 67 is labeled “language foundation.” Simula I → SIMULA 67 is labeled “successor/generalization.” Both can be documented without implying that the two connections are the same kind of historical event.
C++ has two different documented relationships
Bjarne Stroustrup explains that he wanted to combine the efficiency of C with programming styles he valued from Simula 67. His published FAQ identifies the early development work as C with Classes. [4] A historical interview hosted on his website repeats the account of bringing Simula-style class facilities into C. [5]
Those records justify two edges with different labels: C → C++ as a language foundation, and SIMULA 67 → C++ as a design influence. Treating both as literal parentage would flatten distinct technical and intellectual relationships. A designer’s retrospective is valuable first-person evidence, but still benefits from dates and contemporary supporting documents where available.
There is also a chronology trap. Stroustrup dates the beginning of the work to 1979 and notes that the name C++ was used later in 1983. A point labeled “C++ 1979” without qualification could be read as the release date of the named language. We therefore use a range and state what event it refers to.
A graph can tell the truth and still distort the story
Visual form encourages overinterpretation. A highlighted node may seem central because of layout, not because of measured historical impact. A missing arrow may appear to deny influence even when the dataset is simply small. Force-layout proximity, decorative scale and smooth animation are not historical facts.
The first release therefore supplies an accompanying text list of all five edges. Selecting an edge reveals the claim, its category, a confidence qualifier and source links. The JSON file exposes stable IDs and the same bibliographic mapping for reuse. The representation does not assert that a mathematical centrality measure proves cultural or technical importance.
Provenance must survive revision
The W3C PROV primer explains how entities, activities, agents and revisions can be represented with explicit provenance. [6] Its framework is a methodological reference for our work: source information and revision history should travel with a claim, not remain trapped in an author’s notes.
Our starter JSON is not represented as a formally PROV-compliant ontology. It is a small, practical research dataset with typed edge claims and source references. A future correction can revise an edge while preserving the original identifier and recording what changed. For serious reuse, more precise uncertainty categories, contributor review and rights documentation will be needed.
What remains outside this first edition
This example leaves out many other languages and the full role of institutions, teaching, standards groups and implementations. No visual omission should be mistaken for proof that a person or project was historically irrelevant. The graph likewise cannot independently adjudicate every contested claim about the history of object orientation.
Readers can challenge a stated connection by citing its edge ID and supplying documentary evidence, or suggest a missing connection with a specific relationship type. Submissions must be reviewed; they do not silently rewrite the public graph. A later version can add a source, change the relationship category or explicitly record a disagreement.
RESEARCH / PROVENANCE
Works Cited
- 01Standard SIMULA: Chapter 0 — General Introduction ↗
SIMULA Standards Group · language specification · 1986 standard, online transcription
Reading note: Later formal language standard; authoritative on the language definition, not contemporary evidence of the original 1962 decisions.
- 02Software & Languages — Timeline of Computer History ↗
Computer History Museum · museum historical synthesis · undated online timeline
Reading note: Secondary historical synthesis; timeline dates can refer to different milestones, not necessarily first use.
- 03The First Reference to Simula in Writing Is Made ↗
Computer History Museum · museum historical synthesis · 1962 event, later museum entry
Reading note: Documents the earliest written reference, not the date on which Simula 67 was complete.
- 04Bjarne Stroustrup’s FAQ — C++ history and motivation ↗
Bjarne Stroustrup · first-person retrospective · living web document
Reading note: First-person retrospective by the principal designer, not contemporaneous artifact of every design decision.
- 05C++: The Making of a Standard — Stroustrup Interviews ↗
Bjarne Stroustrup, interviewed for C/C++ Users Journal · published interview / retrospective · 1996
Reading note: Retrospective interview; the introductory historical summary and interview responses have different authorship.
- 06PROV Model Primer ↗
W3C Provenance Working Group · technical provenance methodology · 2013-04-30
Reading note: A provenance model for representing claims and derivations, not independent corroboration of computing-history events.
Source roles and limitations are listed to help readers evaluate the claims independently. Bibliographic links do not imply endorsement of every statement in the linked materials.