Detailed · 20 events

A History of Programming Languages

The lineage of high-level languages, from FORTRAN onward, is a long succession of attempts to close the distance between the machine and the way a human thinks. Procedure, function, object, type, concurrency—languages have absorbed the abstractions each era demanded, and abandoned them when the next demand arrived.

1950s

  1. 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.

    Related people
    Grace Hopper
    Appears in
    A General History of Information Technology

    Read more →

  2. IBM 704 electronic data processing machine at NACA Langley, the target of the first FORTRAN compiler
    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 distributed the first FORTRAN (FORmula TRANslating System) compiler for the IBM 704 to 704 installations in April 1957. Algebraic notation had been compiled before—Backus himself credited MIT's Laning and Zierler system as 'the world's first operating algebraic compiler'—but the team treated the translator, not the language, as the real challenge, believing that object code much slower than hand-coded programs would doom the system. By the fall of 1958, Backus reported, more than half the machine instructions at some 60 installations were being produced by FORTRAN.

    Related people
    John Backus
    Related organizations
    International Business Machines (IBM)
    Appears in
    A General History of Information Technology

    Read more →

1960s

  1. 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.

    Related people
    John Backus · Peter Naur · John McCarthy
    Appears in
    A General History of Information Technology

    Read more →

  2. Map of the Dartmouth Educational Time-Sharing Network (Kiewit Network), from a Dartmouth College brochure, early 1971
    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.

    Appears in
    A General History of Information Technology

    Read more →

1970s

  1. Dennis Ritchie, designer of the C language (Japan Prize ceremony, 2011)
    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.

    Related people
    Dennis Ritchie · Ken Thompson
    Related organizations
    Bell Labs
    Related terms
    Kernel · Type System
    Appears in
    A General History of Information Technology

    Read more →

1980s

  1. Xerox Alto — the PARC workstation on which Smalltalk was developed and run (Computer History Museum)
    The wub (Wikimedia Commons) · CC BY-SA 4.0 · Commons ↗

    Smalltalk is the object-oriented programming language and environment built in the 1970s by the Learning Research Group at Xerox PARC. Starting from Alan Kay's vision and ideas from Simula, Dan Ingalls wrote the first implementation, and after Smalltalk-72 and -76 the system was consolidated into Smalltalk-80, a version meant for distribution outside PARC. Adele Goldberg led the release effort: in August 1980 Apple, DEC, Hewlett-Packard and Tektronix were invited to review a draft of the specification, and each implemented the virtual machine at least once. The August 1981 issue of BYTE introduced the language and environment to a wide audience, and in 1983 Goldberg and David Robson's book appeared and Version 2 was released under a general licence. It is known for a uniform design in which all computation is expressed as objects sending messages to one another.

    Related people
    Alan Kay · Steve Jobs
    Related organizations
    Xerox · Apple Inc.
    Related terms
    Object-Oriented Programming (OOP) · Garbage Collection (GC)

    Read more →

  2. Bjarne Stroustrup, designer of C++ (2013)
    ICPCNews / photographer Victor Zavyalov (Wikimedia Commons) · CC BY 2.0 · Commons ↗

    C++ is the programming language Bjarne Stroustrup designed at AT&T Bell Labs. Work began in April 1979, as tooling for research into distributing the UNIX kernel across a network, and by October 1979 a preprocessor called Cpre was adding Simula-like classes to C; the language it accepted was called C with Classes. In 1982–83 Stroustrup built a real compiler, Cfront, and a successor language, briefly called C84, which took the name C++ at Rick Mascitti's suggestion (coined in the summer of 1983, first used in print that December). The first version was in use inside AT&T in August 1983, and in October 1985 the first commercial implementation was released together with the first edition of The C++ Programming Language. The aim was to bring Simula's facilities for organising programs to systems programming without giving up C's efficiency and flexibility. The first ISO standard was C++98, in 1998.

    Related people
    Bjarne Stroustrup · Dennis Ritchie · Kristen Nygaard · Ole-Johan Dahl
    Related organizations
    Bell Labs
    Related terms
    Object-Oriented Programming (OOP) · Type System · Garbage Collection (GC)

    Read more →

1990s

  1. Guido van Rossum at Google I/O, 2008
    Alessio Bragadini (Wikimedia Commons) · CC BY-SA 2.0 · Commons ↗

    In December 1989 Guido van Rossum, then at CWI in the Netherlands, began a language as a 'hobby' project to keep himself occupied during the week around Christmas, when his office would be closed. He meant it as 'a descendant of ABC that would appeal to Unix/C hackers', and set out not to repeat the closed design of ABC, the teaching language he had helped build. The immediate need came from the Amoeba distributed operating system, whose administration tools wanted a language to bridge the gap between C and the shell. The name comes from Monty Python's Flying Circus, not the snake. Version 0.9.0 was posted to the Usenet group alt.sources in 21 parts on 20 February 1991; 1.0.0 followed on 26 January 1994. Van Rossum stepped down as BDFL in July 2018, and a five-member Steering Council elected in February 2019 took over governance.

    Related people
    Guido van Rossum

    Read more →

  2. Portrait of James Gosling, 2008
    Peter Campbell (Wikimedia Commons) · CC BY-SA 4.0 · Commons ↗

    Java is the programming language Sun Microsystems announced on 23 May 1995. It grew out of the Green project, started inside Sun in December 1990 by James Gosling, Patrick Naughton and Mike Sheridan, where Gosling wrote a language called Oak for a handheld consumer-electronics device, the Star7. Oak turned out not to be clearable as a trademark and was renamed Java in early 1995. An alpha had been on the web since March, but the formal announcement came at SunWorld on 23 May alongside the HotJava browser, with Netscape's Marc Andreessen revealing that Java would go into Navigator. Sun described Java as an object-oriented programming environment for the Internet. The finished Java 1.0 (JDK 1.0) was released free on 23 January 1996 by the newly formed JavaSoft, for Windows 95/NT and Solaris on SPARC. Stewardship passed to Oracle when its acquisition of Sun closed on 27 January 2010.

    Related organizations
    Oracle Corporation
    Related terms
    Object-Oriented Programming (OOP) · Garbage Collection (GC)

    Read more →

2000s

  1. EVT.015T1The Y2K Problem — Two-Digit Years and a Worldwide FixA General History of Information TechnologyRead more →
  2. 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. By the official FAQ, the three began sketching its goals on a whiteboard on 21 September 2007, out of frustration with the languages and environments they were using for Google's work. The announcement pitched it as a language for systems programming and stressed builds measured in seconds. Go combines garbage collection, lightweight concurrency through goroutines and channels, and a deliberately small syntax. Go 1, with its backwards-compatibility promise, followed on 28 March 2012, and Go 1.18 added generics on 15 March 2022. Key pieces of cloud infrastructure, Kubernetes among them, are written in Go.

    Related people
    Ken Thompson
    Related organizations
    Google
    Related terms
    Garbage Collection (GC)
    Appears in
    A History of Cloud Computing

    Read more →

2010s

  1. Microsoft, microsoft/TypeScript-Website branding (Wikimedia Commons) · Public domain · Commons ↗

    On 1 October 2012 Microsoft announced TypeScript, releasing an early preview of version 0.8 with the language specification, the compiler source and a Visual Studio 2012 plug-in. The language was introduced at launch by Anders Hejlsberg, lead architect of C#, who later signs himself as TypeScript's lead architect. TypeScript is a superset of JavaScript adding optional type annotations, interfaces, classes and modules; types are checked at compile time and erased from the JavaScript output. The specification was released under the Open Web Foundation's OWFa 1.0 and the compiler under Apache 2.0 on CodePlex. Stable 1.0 followed on 2 April 2014. By GitHub's Octoverse 2025, it became the most used language on GitHub by monthly contributors in August 2025. TypeScript 7, a native compiler rewritten in Go, was released on 8 July 2026.

    Related organizations
    Microsoft Corporation
    Related terms
    Type System
    Appears in
    A History of Microsoft

    Read more →

  2. Rust Foundation, rust-lang/rust-artwork (Wikimedia Commons) · CC BY 4.0 · Commons ↗

    Rust is a systems programming language that aims at memory safety without a garbage collector or a runtime. Graydon Hoare began it as a spare-time project in 2006; Mozilla started paying him to work on it in late 2009, and he introduced it at the Mozilla Annual Summit in July 2010. On 15 May 2015 the Rust Core Team released 1.0, the first stable version, beginning a commitment to stability under which breaking changes are largely out of scope. The project moved at the same time to a release every six weeks, shipping the 1.1 beta the same day. The heart of the design is a set of ownership and borrowing rules that the compiler checks, so memory is managed without collection at run time. Stack Overflow's developer survey named it the 'most loved' language for seven consecutive years through 2022. The independent, non-profit Rust Foundation was launched in February 2021, and the Linux kernel took in initial Rust support in 6.1 in December 2022.

    Related terms
    Garbage Collection (GC) · Type System · Thread

    Read more →

2020s

  1. GitHub Copilot logo — the AI pair programmer
    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.

    Related organizations
    Microsoft Corporation · OpenAI
    Related terms
    Fine-tuning
    Appears in
    A History of AI Agents · AI and Copyright: A History

    Read more →

  2. Rust for Linux logo — Tux superimposed over the Rust logo
    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. Drivers came later — first a reference network PHY driver in 6.8, then 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.

    Related people
    Linus Torvalds
    Related organizations
    Microsoft Corporation
    Related terms
    Kernel
    Appears in
    A History of Operating Systems · A History of Open Source and Free Software

    Read more →