Detailed · 19 events
A History of Programming Languages
1950s
Grace Hopper ran the A-0 system on Remington Rand's UNIVAC I and described it in "The Education of a Computer" at the ACM national meeting in Pittsburgh in May 1952. What A-0 did was locate subroutines in a tape library by call-number, fabricate the instructions that pass arguments to them, splice entrance and exit lines, relocate addresses, and emit a single runnable program. In modern terms that is closer to a linker and loader than to a compiler. The IEEE Milestone plaque unveiled in 2024 describes A-0 as a series of specifications that functioned as a linker/loader. But in 1952 to compile meant to gather items from a library and bind them, and Hopper's own paper says compiling routine throughout. The familiar claim that she wrote the first compiler does not account for the word having changed meaning underneath it.

NASA (Great Images in NASA, via Wikimedia Commons) · Public domain · Commons ↗ John Backus's team at IBM worked for roughly three years from 1954 and shipped the first FORTRAN (FORmula TRANslator) compiler for the IBM 704 to customers in April 1957. Algebraic notation had been compiled before—the Autocode line and the Laning–Zierler system on Whirlwind came first—but FORTRAN's decisive achievement was an optimizing compiler that emitted machine code good enough for assembly programmers to accept. After it, the assumption that high-level code was necessarily slow no longer held, and compiled languages became a real option for working programmers.
Questions this page answers
- Was FORTRAN the first high-level programming language?
- Not quite. Algebraic notation had been compiled before, by the Autocode line and the Laning-Zierler system on Whirlwind. FORTRAN's first was an optimizing compiler whose output assembly programmers were willing to accept.
- How long did FORTRAN take to build?
- John Backus's team at IBM worked for roughly three years from 1954, shipping the first compiler to customers in April 1957.

null0 (Wikimedia Commons, via Flickr) · CC BY-SA 2.0 · Commons ↗ John McCarthy began designing LISP at MIT in 1958 as the experimental vehicle for the Advice Taker—a machine that could be told declarative sentences and act on them sensibly. The design was published in the April 1960 CACM paper 'Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I.' Among high-level languages still in common use it is the oldest after FORTRAN. McCarthy intended people to write M-expressions, with S-expressions merely their internal representation; then Steve Russell hand-compiled the eval from the paper into IBM 704 machine code and made it run, and S-expressions became the surface syntax instead. Code and data in one representation, recursion, list processing, automatic reclamation of the free-storage list (the paper's word; garbage collection later), functions as values via lambda—much of what later languages would rediscover is already in the 1960 paper. Scheme, Common Lisp, and Clojure descend from it directly; the functional line from ML to Haskell was heavily influenced by it.
Questions this page answers
- Who created LISP, and when?
- John McCarthy began designing it at MIT in 1958. The design was published in the April 1960 CACM paper 'Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I'. Among high-level languages still in common use, LISP is the oldest after FORTRAN.
- Why is LISP written in parentheses?
- McCarthy intended people to write M-expressions, with the parenthesised S-expressions as their internal representation. Steve Russell then hand-compiled the eval from the paper into IBM 704 machine code and made it run, and S-expressions stayed on as the surface syntax.
- Did garbage collection originate with LISP?
- Automatic reclamation of the free-storage list is already in the 1960 paper — its own word is reclamation, and the name garbage collection came later. Code and data in one representation, recursion, and functions as values via lambda are in the same paper.

CODASYL / US Department of Defense · Public domain · Commons ↗ A Short Range Committee of CODASYL, convened under the sponsorship of the US Department of Defense, produced the first specification of COBOL—the Common Business-Oriented Language—dated 17 December 1959. The Executive Committee accepted it on 7–8 January 1960, and the Department of Defense published it that April. The report itself names three sources of ideas: Sperry Rand's FLOW-MATIC, IBM's Commercial Translator, and AIMACO. Grace Hopper, whose team built FLOW-MATIC, served as a technical adviser to CODASYL but was not a member of the committee that wrote the specification—the familiar shorthand that she "wrote COBOL" misplaces her contribution. Its English-like syntax and fixed-point decimal arithmetic made COBOL the mainstream language of finance, insurance, and government systems. More than 65 years on, it is still running core systems: a 2022 Micro Focus survey put the volume in daily use at over 800 billion lines.
Questions this page answers
- Did Grace Hopper write COBOL?
- No. She served as a technical adviser to CODASYL but was not a member of the Short Range Committee that wrote the specification. Her team did build FLOW-MATIC, one of the three sources of ideas the report names.
- Is COBOL still in use?
- Yes. A 2022 Micro Focus survey put the volume of COBOL in daily use at more than 800 billion lines.
1960s
Thirteen representatives met in Paris from 11 to 16 January 1960, and the resulting Report on the Algorithmic Language ALGOL 60, edited by Peter Naur, appeared in Communications of the ACM that May. It was a complete rewrite of the preliminary report drafted at the 1958 Zurich conference (ALGOL 58, or IAL). Three things arrived with it. First, a syntax defined mechanically by metalinguistic formulae — a notation John Backus had presented at the June 1959 ICIP conference in Paris and Naur reworked, later renamed Backus-Naur form at Donald Knuth's suggestion. Second, blocks delimited by begin and end, with identifier scope closed at each block boundary. Third, procedures that can call themselves. ALGOL 60's own commercial uptake was thin, but nearly every procedural language since descends from this report.

Dartmouth College (Wikimedia Commons) · Public domain (PD-US-no notice) · Commons ↗ BASIC, designed at Dartmouth College by John Kemeny and Thomas Kurtz, ran for the first time at about 4 a.m. in the basement of College Hall. Dartmouth's own computing timeline records that the Dartmouth Time-Sharing System (DTSS) executed two identical programs entered simultaneously from two teletypes and returned the correct answer to each — the birth of the language and of the time-sharing system in the same moment, and they were inseparable from the start. BASIC existed so that non-specialist undergraduates could use a time-shared computer; Dartmouth gave the compiler away, and ran terminals out to nearby secondary schools. That free distribution is why BASIC became the standard language of home computers in the following decade. The first implementation was a compiler, not an interpreter, and DTSS's mean time between failures was initially about five minutes.
1970s

Denise Panyik-Dale (Wikimedia Commons, via Flickr) · CC BY 2.0 · Commons ↗ Dennis Ritchie at Bell Labs added a character type and a type system to Ken Thompson's B, producing C. The UNIX kernel was rewritten in it in the summer of 1973, and the 1977 Interdata port demonstrated that a general-purpose OS could be moved to a dissimilar architecture by recompiling its source. Operating systems had been written in high-level languages before—Multics in PL/I—but what made C decisive was that it did so while its compiler still produced code small and fast enough to compete with assembly. The 1978 K&R book *The C Programming Language* served as the language's de facto definition until ANSI standardisation, and C remained the standard of systems programming for more than half a century. C++, Objective-C, C#, Go, Rust, Zig, and most current systems languages either descend from C or are deliberately designed against its model.
1980s

The wub (Wikimedia Commons) · CC BY-SA 4.0 · Commons ↗ Developed at Xerox PARC by Alan Kay, Dan Ingalls, Adele Goldberg, and others, Smalltalk reached its canonical form as Smalltalk-80 in 1980. In 1981 it left PARC for the first time—shared with Tektronix, Hewlett-Packard, Apple Computer, and DEC for review and porting—and Version 2 was released to the public in 1983. Everything an object, message passing as the only operation—the pure object-oriented design directly or indirectly shaped the object models of Objective-C, Ruby, Java, C#, and many of the major languages that followed.

ICPCNews / photographer Victor Zavyalov (Wikimedia Commons) · CC BY 2.0 · Commons ↗ Bjarne Stroustrup began the work at AT&T Bell Labs in 1979 as 'C with Classes'; Rick Mascitti suggested the name C++ in the summer of 1983. In October 1985 the first commercial implementation appeared, alongside the first edition of The C++ Programming Language. The design goal—Simula-style classes without giving up C's performance—made C++ a default in domains that demand both low-level control and high-level structure: game engines, trading systems, embedded devices, browser implementations. ISO standardisation followed in 1998 (ISO/IEC 14882:1998, C++98).
Questions this page answers
- What year was C++ created?
- Three dates compete. Bjarne Stroustrup began it at AT&T Bell Labs in 1979 as C with Classes; Rick Mascitti suggested the name C++ in the summer of 1983; the first commercial implementation shipped in October 1985.
1990s

Alessio Bragadini (Wikimedia Commons) · CC BY-SA 2.0 · Commons ↗ In December 1989 Guido van Rossum, then at CWI in the Netherlands, began a general-purpose language as a 'hobby' project to fill the week around Christmas. Its starting point was his dissatisfaction with ABC, the teaching language he had helped build. The name comes from Monty Python's Flying Circus, not the snake. Version 0.9.0 was posted to the Usenet group alt.sources on 20 February 1991; 1.0.0 followed on 26 January 1994. Simple, readable syntax; duck typing; an extensive standard library; and—later—the culture that calls itself 'Pythonic'. Python became the default language of web development (Django, Flask) in the 2000s, of scientific computing and data science (NumPy, SciPy, pandas) in the 2010s, and—since the late 2010s—of machine learning (TensorFlow, PyTorch). Van Rossum stepped down as BDFL in July 2018; the first Steering Council was elected in February 2019 and took over governance.
Questions this page answers
- Is Python named after the snake?
- No. The name comes from Monty Python's Flying Circus. Guido van Rossum began the language at CWI in the Netherlands in December 1989, as a hobby project to fill the week around Christmas.
- When did Python 1.0 arrive?
- On 26 January 1994. The first public release, 0.9.0, had been posted to the Usenet group alt.sources on 20 February 1991.

Peter Campbell (Wikimedia Commons) · CC BY-SA 4.0 · Commons ↗ Oak, the language James Gosling and colleagues at Sun Microsystems had designed for embedded consumer electronics, was renamed Java because the Oak trademark was already taken, and was announced on 23 May 1995 at SunWorld alongside the HotJava browser—Sun billing it as an object-oriented programming environment for the Internet. What went out that day was an alpha for SunOS, Solaris and Windows NT; JDK 1.0 shipped on 23 January 1996. Applets running inside the browser, the portability of the Java Virtual Machine, and Sun's 'Write Once, Run Anywhere' slogan pulled enterprise software development decisively toward Java. Stewardship moved to Oracle in January 2010 with the Sun acquisition, but the ecosystem—Spring, Hadoop, Android (whose apps are written in the Java language)—remains enormous.

Martin Kliehm (Wikimedia Commons) · CC BY-SA 2.0 · Commons ↗ In May 1995 Brendan Eich wrote a prototype of a browser scripting language at Netscape in ten days. The 'ten days' refers to that prototype, not to the shipped language. Its internal code name, proposed by Marc Andreessen, was Mocha; it reached the public as LiveScript in the September beta of Netscape Navigator 2.0, and was renamed JavaScript in a joint Netscape–Sun announcement on 4 December 1995. The rename came out of Netscape's partnership with Sun: Sun trademarked 'JavaScript' and licensed the mark to Netscape, so the link to Java is a commercial arrangement, not a technical one. The production Navigator 2.0 (March 1996) carried JavaScript 1.0; standardisation followed as ECMA-262 1st edition (June 1997). Dismissed as a toy for years, JavaScript was remade by Chrome and its V8 engine in 2008, Node.js in 2009, and the React/Vue/Angular framework wave—and is now one of the most widely written languages in the world.
Questions this page answers
- Was JavaScript really written in ten days?
- The ten days produced a prototype in May 1995, not the language that shipped. It reached the public as LiveScript in the September beta of Netscape Navigator 2.0, and the production Navigator 2.0 of March 1996 carried JavaScript 1.0.
- How is JavaScript related to Java?
- There is no technical descent. The rename on 4 December 1995 came out of Netscape's partnership with Sun: Sun trademarked 'JavaScript' and licensed the mark back to Netscape. The link is that commercial arrangement.
- What was JavaScript called before?
- Its internal code name, proposed by Marc Andreessen, was Mocha; it shipped in beta as LiveScript; and it became JavaScript in the joint announcement of 4 December 1995. Standardisation followed as ECMA-262 1st edition in June 1997.

Mathias Meyer (Wikimedia Commons) · CC BY-SA 2.0 · Commons ↗ An object-oriented scripting language designed in Japan by Yukihiro 'Matz' Matsumoto. Its first public release was version 0.95, posted to Japanese domestic newsgroups on 21 December 1995. The name is a jewel name in the manner of Perl; by the official FAQ's account, Matz took it from a colleague's birthstone. Ruby blends elements of Perl, Smalltalk, Eiffel, Ada and Lisp, and treats everything as an object. Matz wrote in an introductory article on Ruby that it 'is designed to make programmers happy'—a line Bill Venners quoted back to him in a 2003 interview. Ruby on Rails, which David Heinemeier Hansson extracted from Basecamp and released as open source in July 2004 (1.0 in December 2005), became a global success and made Ruby the default toolkit of web startups: GitHub, early Twitter, early Airbnb, Shopify.
Questions this page answers
- Where does the name Ruby come from?
- It is a jewel name chosen in the manner of Perl. By the official FAQ's account, Matz took it from a colleague's birthstone. The first public release, 0.95, went out on 21 December 1995.
2000s
The Go Authors (Wikimedia Commons) · Public domain · Commons ↗ Designed at Google by Robert Griesemer, Rob Pike and Ken Thompson (co-creator of UNIX), Go was released as open source on 10 November 2009; the announcement pitched it as a language for systems programming. Frustration with C++ build times and complexity was the starting point, and the result combines garbage collection, lightweight concurrency via goroutines and a deliberately small syntax. Go 1, which opened the backwards-compatibility promise, followed on 28 March 2012. Key pieces of the cloud-native infrastructure of the 2010s—Docker, Kubernetes, Terraform, Prometheus—are written in Go.
2010s
Microsoft, microsoft/TypeScript-Website branding (Wikimedia Commons) · Public domain · Commons ↗ On 1 October 2012 Microsoft announced TypeScript. What shipped, after two years of internal development, was an early preview of version 0.8; the design was led by Anders Hejlsberg, also the chief designer of C#. TypeScript is a superset of JavaScript adding type annotations, interfaces, classes and modules, and its output is ordinary JavaScript. The language specification was released under the Open Web Foundation agreement and the compiler under Apache 2.0 on CodePlex. Stable 1.0 followed on 2 April 2014. Through the 2020s it became the de facto standard for large-scale web frontends; React, Vue and Angular all moved their primary documentation to TypeScript examples.
Rust Foundation, rust-lang/rust-artwork (Wikimedia Commons) · CC BY 4.0 · Commons ↗ Graydon Hoare started Rust as a personal project in 2006; Mozilla officially sponsored it from 2009. Version 1.0, on 15 May 2015, was the first stable release and opened the project's backwards-compatibility commitment. Its core design is compile-time checking of ownership and borrowing, which delivers memory safety with neither a garbage collector nor a runtime. Stack Overflow's annual survey named it the 'most loved' language for seven consecutive years through 2022. The Linux kernel took in experimental Rust support in 6.1 (December 2022), with the first drivers landing in 6.8.
Questions this page answers
- Who created Rust?
- Graydon Hoare started it as a personal project in 2006, and Mozilla sponsored it officially from 2009. The first stable release, 1.0, followed on 15 May 2015.
2020s

GitHub (Wikimedia Commons) · Public domain (below threshold of originality; trademark applies) · Commons ↗ GitHub and OpenAI released Copilot as a technical preview—an AI pair programmer that autocompletes code inside the editor. Powered by OpenAI's Codex (a GPT model fine-tuned on public code from GitHub), it could generate entire functions from a partial implementation or a docstring. It became a paid subscription on 21 June 2022 at US$10/month. A class action over the training use of public code, Doe v. GitHub, followed in November 2022; the DMCA claims were dismissed with prejudice in June 2024, leaving open-source licence violation and breach of contract. Most of the headline productivity numbers are GitHub's and Microsoft's own research, and METR's independent 2025 trial found the opposite effect. The product reshaped the developer experience across the industry and seeded the 'AI coding IDE' competition among Cursor, Claude Code, Windsurf, and others.

Dbeef / 0xDeadbeef (Wikimedia Commons) · CC0 1.0 (Public domain dedication) · Commons ↗ Initial Rust support was merged into Linux 6.1. Since its 1991 release the kernel had been written in C plus architecture-specific assembly and nothing else. What 6.1 admitted was not drivers but scaffolding: the toolchain, a minimal set of crates, sample modules. Real drivers came later — Nova for NVIDIA GPUs in 6.15, Tyr for Arm Mali and the Rust rewrite of Android's Binder in 6.18. In 2025 a dispute over Rust abstractions for the DMA subsystem cost the project several maintainers; that December the Kernel Maintainers Summit declared the experiment concluded.
