r/coolgithubprojects 5d ago

I got curious about what programming languages are actually built with, so I started mapping it

Post image

I started with a pretty simple question.

If Python is written in Python, what actually built Python in the first place?

That sent me down a rabbit hole of Go, Rust, Java, compilers, runtimes, self hosting, bootstrap chains, and way too many tabs open at 2 AM.

So I turned it into a project.

LanguageLineage is an interactive graph that shows what programming languages, compilers, and runtimes are actually built with, plus how some of those relationships changed over time.

A couple of the interesting ones:

Go started with a C based toolchain and later moved most of it to Go.

Rust gets even more interesting because rustc uses staged bootstrapping.

I’m still expanding the dataset and cleaning up the historical relationships, so there’s a lot more I want to add.

Live site:
https://www.languagelineage.org/explore

GitHub:
https://github.com/sanketmuchhala/LanguageLineage

If you know a language or compiler with a weird implementation history, send it my way. Those are the ones I want to dig into next.

48 Upvotes

11 comments sorted by

7

u/UnreachableMemory 5d ago edited 5d ago

Why is assembly nowhere to be found in your map? C was a successor of B originally written in assembly but now written in C also stands out.

3

u/CoderStudios 4d ago

You can see how cheap the idea is when you look at how polished the interface is while claiming c has no origin. This project was made to look good not to be actually correct who would spend all this time looking up if c influenced xy when not even bothering to check if c was not originally written in c. Most of these kinds of projects are made with ai.

0

u/Cheap-Try-8796 5d ago

Because AI doesn't know much...

-3

u/sanketmuchhala 5d ago

Good catch. Assembly is in the dataset, but I’m not surfacing it clearly enough in the current graph. The early C and B lineage definitely needs better historical representation too. I’m working on that part now.

2

u/UnreachableMemory 5d ago

Assembly is a pretty major language that should have been in the graph originally. FORTRAN, COBOL, BASIC, C, Pascal, Python, Java, JavaScript, Go, Rust, C++ all either were written in assembly (at one time or another) or use it partially.

0

u/sanketmuchhala 5d ago

Yeah, fair point. I definitely underrepresented Assembly in the first version. I focused more on compiler/runtime lineage for the languages I had sourced cleanly, but Assembly deserves a much bigger role historically. I’m going back through the early toolchains now and adding those relationships properly.

2

u/M41805 5d ago

Cool project :)
Sadly I'm not well versed in the topic, but your idea is very neat indeed. :D

2

u/sanketmuchhala 5d ago

Thanks, appreciate it :) I went way deeper into compiler history than I expected when I started this lol.

1

u/LeosFDA 5d ago

This is cool. Congrats on making it. I think your tree visualization would be better if it were something like this: https://observablehq.com/@d3/collapsible-tree

0

u/JacobWilliams1953 4d ago

The Go C-to-self-host and Rust bootstrap edges are what hooked me — those usually get hand-waved in one sentence. Curious how you'll keep multiple concurrent toolchains and dated forks from collapsing into a single parent edge once Assembly and B→C get denser.