Programming Language Graph
An interactive graph of 98 programming languages and 14 compilers and runtimes, connected by 347 evidence-backed relationships. Explore how languages influenced each other and what they are implemented in.
The Language Lineage graph maps both influence relationships (which language inspired which) and implementation relationships (what compiler, runtime, or bootstrap chain each language uses) — with confidence scores and source citations for every edge.
What is a programming language graph?
A programming language graph represents languages as nodes and their relationships as edges. Unlike a static family tree, an interactive graph lets you:
- Click any language to see its direct connections
- Filter by relationship type (influence, implementation, bootstrapping)
- Trace ancestry chains across multiple generations
- Switch between network, tree, cluster, and timeline layouts
Relationship types in the graph
| Relationship | Meaning | Count |
|---|---|---|
| influenced | Language A inspired language B | 189 |
| bootstrap written in | A bootstraps its compiler from B | 14 |
| compiler written in | A's compiler is written in B | 78 |
| runtime written in | A's runtime is written in B | 56 |
| rewritten in | A was rewritten in B | 2 |
| transpiled to | A compiles to B | 8 |
Popular languages in the graph
How is this different from a static genealogy chart?
Static programming language genealogy charts (like the HOPL database or Wikipedia's SVG diagrams) show influence ancestry. Language Lineage adds:
- Implementation data — what compilers and runtimes are written in
- Bootstrap chains — which languages can compile their own compilers
- Confidence scores — every relationship has a confidence value (0–1)
- Evidence sources — links to Wikipedia, papers, and documentation for every edge
- Interactivity — click, filter, zoom, switch layouts
Frequently Asked Questions
What is a programming language graph?
A programming language graph is a network visualization showing relationships between programming languages — including influence, ancestry, compiler implementation, runtime implementation, and bootstrapping chains.
How many languages are in the Language Lineage graph?
The Language Lineage graph contains 98 programming languages and 14 compilers/runtimes, connected by 347 relationships.
What relationships does the graph show?
The graph shows: influence (language A inspired language B), compiler_written_in (the compiler for language A is written in B), runtime_written_in (the runtime is written in B), bootstrap_written_in (A bootstraps via B), transpiled_to (A compiles to B), and rewritten_in.
How is this different from HOPL or Wikipedia genealogy charts?
HOPL and Wikipedia show influence and ancestry. Language Lineage adds implementation relationships — what compilers and runtimes are actually written in — with confidence scores and evidence sources for every relationship.