The Data Drop #051

A Visual History of
Programming Languages

Someone, somewhere, sat down and invented every single one of these.

Scroll

In 1957, a team at IBM created Fortran so scientists could stop writing machine code.

78 years and thousands of languages later - from major industry standards to obscure research projects - code put humans on the Moon, connected 5 billion people to the internet, and taught machines to hold conversations.

A sprawling history of 3,600+ languages. Origin stories, Hello Worlds, influence edges. From Plankalkül to Mojo. You can browse them, compare them, and even run a few right in your browser.

1957
4 lines to say hello
It started with Fortran. John Backus and his team at IBM wanted to make programming practical. They spent nearly four years building a compiler that could turn math-like notation into machine code. For the first time, a human could write something close to algebra and a machine would understand.
PROGRAM HELLO WRITE (*,*) 'Hello, World!' STOP END
1969
Code lands on the Moon
Margaret Hamilton's team at MIT writes the Apollo 11 guidance software - in assembly, by hand. The code stack, printed out, is taller than her. On descent, the computer throws a 1202 alarm. Her priority scheduling saves the mission. The software works. Neil Armstrong walks.
# AGC assembly - actual code TC BANKCALL CADR R60LEM TC INTPRET DLOAD PIPTIME
1972
5 lines to say hello. Then they rewrote Unix in it.
Dennis Ritchie wrote C at Bell Labs. Then used C to rewrite Unix. Then AT&T licensed Unix to universities for almost nothing. C spread everywhere - operating systems, compilers, embedded firmware. Ritchie died a week after Steve Jobs in October 2011. Jobs got the headlines. Ritchie built the infrastructure that made Jobs' work possible.
#include <stdio.h> int main() { printf("Hello, World!\n"); return 0; }
1991
The first website goes live
Tim Berners-Lee makes the World Wide Web publicly available from a NeXT workstation at CERN, running a server written in C. Researchers notice. The public doesn't. Within five years, five new languages will be born for it.
/* CERN httpd - written in C */ /* Ran on a NeXT cube */ /* One machine. One page. */ /* 5.5 billion web users later... */
1995
Five languages in four years
Python, Ruby, Java, JavaScript, PHP. Five languages in five years, 1991 to 1995. Four of them launched in '95 alone. Brendan Eich wrote JavaScript in 10 days. Rasmus Lerdorf built PHP to maintain his personal homepage. Guido van Rossum started Python as a Christmas-break hobby project. We're still living with all three decisions.
System.out.println("Hello!"); // Java console.log("Hello!"); // JS echo "Hello!"; // PHP print("Hello!") # Python puts "Hello!" # Ruby
1998
Google launches
Two Stanford PhD students build a search engine using Python, Java, and C++. The PageRank algorithm runs on commodity hardware. The search engine indexes 26 million pages. Today Google handles 8.5 billion searches per day. Larry and Sergey never finished their PhDs.
# The original PageRank # was a Python script that # ranked pages by who # linked to them. # # Simple idea. # $2 trillion company.
2004
A dorm room, PHP, one server
Mark Zuckerberg builds "TheFacebook" in his Harvard dorm. PHP and MySQL. 3 billion monthly users later, Meta created Hack - a language evolved from PHP with static typing and better tooling. The codebase was migrated, but Hack's syntax still traces back to those first PHP files.
<?php echo "Hello, " . $user . "!"; // That's basically how // Facebook started. // PHP. MySQL. Apache. // One server in a dorm. ?>
2007
The iPhone ships
Steve Jobs pulls a phone out of his pocket at Macworld. The App Store won't open until 2008, but when it does, every app will be written in Objective-C - a Smalltalk-C hybrid that was niche outside the Apple ecosystem. Suddenly hundreds of thousands of developers have to learn bracket syntax. Six years later, Apple will introduce Swift as its successor.
// Every iPhone app, 2007-2014 [UIAlertView alloc] initWithTitle:@"Hello!" message:@"Welcome to iOS" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
2008
Bitcoin: a 9-page PDF and 30,000 lines of C++
Satoshi Nakamoto - identity still unknown - publishes a whitepaper and releases a C++ implementation. A peer-to-peer currency with no central bank. In 2010, 10,000 Bitcoin buy two pizzas. At Bitcoin's peak, those pizzas were worth over $1 billion.
// Bitcoin Core - still C++ class CBlock { int nVersion; uint256 hashPrevBlock; uint256 hashMerkleRoot; unsigned int nTime; unsigned int nBits; unsigned int nNonce; };
2013
Docker: a 5-minute lightning talk
Solomon Hykes demos Docker at PyCon in a 5-minute talk. "It's like a shipping container for code." Written in Go - a language designed by the co-creators of Unix while waiting for C++ to compile. Docker changes how every company on earth deploys software. Kubernetes follows. The cloud is rewritten.
package main import "fmt" func main() { fmt.Println("Hello!") } // Docker: Go // Kubernetes: Go // Terraform: Go
2017
"Attention Is All You Need"
Eight Google researchers publish a paper that will reshape the tech industry. The Transformer architecture. Written in Python and TensorFlow. GPT, BERT, Claude, Gemini, LLaMA - nearly every major large language model builds on this one paper. The authors didn't know what they'd started. Some of them still aren't sure.
# The line that changed everything attention = softmax( Q @ K.T / sqrt(d_k) ) @ V # 8 authors. 1 paper. # Every AI since.
2022
ChatGPT: 100 million users in 2 months
OpenAI releases a chatbot built on PyTorch, Python, and the Transformer architecture. It writes code, essays, poems. 100 million users in two months. For the first time, people who can't write code are having conversations with systems that can.
import openai response = openai.chat( model="gpt-4", messages=[{ "role": "user", "content": "Hello, World!" }] ) # AI writes Hello World now.
Now
1 line. 69 years. 3,600+ attempts.
Hello World is one line now. But the story was never about making code shorter. It was about a Dartmouth professor who thought English majors should use computers. A linguist who was tired of sed and awk. A mother of three who designed a language for the Pentagon. A bored grad student over Christmas break. Every language is someone's answer to: I can do this better.
print("Hello, World!") # From punch cards to AI. # From Margaret Hamilton's # stack of paper # to a chatbot that writes # its own code. # # 3,600+ attempts. # The story continues.

The Timeline

Every language has an origin story. Some took years. JavaScript took 10 days.

Mainframe Era 1954-1969 1/0

The Explorer

Big squares are the ones you know. Small dots are the ones you don't. Toggle to see all 3,664.

The Playground

Remember Logo? fd 100, rt 90? Here's what Hello World looks like in 5 very different languages.

Code

      
Output

The Showdown

Your first language vs. your current one. Go on, settle this.

What Developers Actually Use

63% write JavaScript. 4% write R. The gap is violence. (Stack Overflow, 2024)

The Family Tree

No language was built from scratch. Every one borrowed, stole, or "was inspired by" something older.

Influenced
Influenced by

What Code Built

Every app on your phone. Every site you visit. Every device in your house. It's all someone's code, in someone's language.

The Internet
TCP/IP, DNS, HTTP servers, the browser you're reading this in
C
Your Phone
iOS (Swift/Obj-C), Android (Kotlin/Java), every app you've downloaded
Swift
Kotlin
Google
Search, Maps, Gmail, YouTube. Started as a Python crawler in a garage.
Python
Go
Java
Social Media
Facebook (Hack/PHP), Instagram (Python), Twitter (Scala/Java), WhatsApp (Erlang)
PHP
Python
Video Games
Unreal (C++), Unity (C#), Minecraft (Java), Roblox (Lua), every AAA title
C++
C#
AI / Machine Learning
ChatGPT, DALL-E, self-driving car prototypes, most modern ML models
Python
The Cloud
Docker, Kubernetes, Terraform, AWS infrastructure. The invisible backbone.
Go
Python
Cryptocurrency
Bitcoin, Ethereum, DeFi. A new financial system written in code.
C++
Solidity
Space Exploration
Apollo guidance, Mars rovers, SpaceX flight software, ISS systems
C
C++
Medicine
Genome sequencing (Perl/Python), drug discovery (R), COVID vaccine modeling
Python
R
Film & Animation
Pixar's RenderMan, VFX pipelines, streaming infrastructure (Netflix)
C++
Python
Global Finance
ATMs, stock exchanges, $3T+ daily transactions still running COBOL
COBOL
Java

The Graveyard

Most languages die quietly. No funeral. No obituary. Just... no more commits.

3,664
That's how many times someone sat down and said:
I think I can do this better.

Most of them were wrong. Their languages died quietly, without funerals or obituaries. But a few of them changed everything. Fortran let scientists stop writing machine code. C gave us Unix. JavaScript gave us the web. Python gave us AI.

And somewhere right now, someone is designing language number 3,665.
They probably think they can do it better too.

They might be right.

Methodology

We scraped PLDB, merged it with GitHub Linguist, and argued about what counts as a "language" for way too long.

Data Sources

Primary: PLDB (Programming Language Database) - 5,000+ languages, public domain.

Colors: GitHub Linguist - 661 language hex colors.

Influence links: PLDB influence fields + manual curation from Wikipedia language pages.

Survey data: Stack Overflow Developer Survey 2024.

What counts as a "programming language"?

We include all entries tagged as programming languages (tag: pl) in PLDB, filtered to those with a known creation year and some evidence of notability (Linguist recognition, word rank, or creator attribution).

This includes general-purpose languages, domain-specific languages (SQL, MATLAB, R), scripting languages, system languages, and a handful of famous esoteric languages (Brainfuck, Whitespace). We exclude pure markup languages (HTML, XML) and pure data formats (JSON, YAML).

Why are the colors what they are?

Each language's color comes from GitHub Linguist - the system GitHub uses to color the language bar on every repository. Python is #3572A5, JavaScript is #f1e05a, Ruby is #701516, and so on.

About 660 languages have an official GitHub color. For the rest, we generate a color based on typing system: static-typed languages get blue tones, dynamic-typed get cyan, and unknowns get gray.

These aren't "official" language brand colors. They're GitHub's convention, and the developer community has largely adopted them as the canonical color for each language.

How the playground works

Logo - Custom turtle graphics interpreter written in JavaScript. Parses fd, bk, rt, lt, pu, pd, and repeat commands. Draws on an HTML5 Canvas.

JavaScript - Runs natively in your browser using a sandboxed Function constructor. console.log output is captured and displayed.

Brainfuck - A tiny interpreter (~30 lines of JS) that simulates the tape, pointer, and 8 commands. Capped at 100,000 steps to prevent infinite loops.

BASIC - A minimal interpreter that handles PRINT, FOR/NEXT, GOTO, and LET. Enough to run classic programs, not enough for anything serious.

No code leaves your browser. Everything runs client-side.

Known gaps and limitations

The 3,664 number. This is the count of entries tagged as programming languages in PLDB at the time we built this dataset. PLDB itself contains 5,000+ entries including markup, data, and query languages. Our count includes major industry languages, research languages, educational tools, and obscure experiments. It is a snapshot of one database, not a definitive census of all programming languages ever created.

Influence links are incomplete. PLDB tracks ~120 influence relationships. We supplemented with manual research but the full HOPL database (8,945 languages, 7,800 links) is not fully integrated yet.

Status labels are approximate. "Alive," "dead," and "dormant" are based on most recent commit activity in PLDB's repo stats. Many languages have small but active communities that are hard to detect from metadata alone.

The narrative sections are storytelling. The story and milestone sections compress complex history into short paragraphs. We've fact-checked claims against primary sources where possible, but some framings are editorial interpretations, not strict historical statements. When in doubt, we link to Wikipedia and PLDB for each language so you can verify.

If you spot an error: email us. We'll fix it and credit you. This page is read by people who invented these languages. We take accuracy seriously.

The Data Drop

One interactive data story, every week. Free.