History of Programming Languages: From FORTRAN to Modern Code
FORTRAN in 1957 launched modern programming. Follow the evolution from COBOL and BASIC through C, object-oriented languages, and today's paradigms across seven decades.
Before FORTRAN, Programmers Wrote Machine Code by Hand
In 1954, writing a program for the IBM 704 meant composing binary instructions directly — translating every operation into numeric opcodes that the machine's circuits could execute. A simple matrix multiplication required hundreds of lines of carefully hand-crafted numeric codes, and a single transposed digit caused silent wrong answers or program crashes. John Backus, a young programmer at IBM, spent three years convincing management that a compiler — a program that translates human-readable mathematical notation into machine code — would not produce code too slow to be useful. He was nearly fired for the delay. FORTRAN (Formula Translation), released in April 1957, proved him right. It generated code that ran at 90% of hand-optimized machine code efficiency on the first benchmark. Within 18 months, more than half of all lines of code written in the United States were in FORTRAN.
The 1950s and 1960s: Foundations
FORTRAN's success triggered a wave of language development that established the major paradigms still in use today.
- FORTRAN (1957): John Backus and the IBM FORTRAN team. First compiled high-level language. Still maintained; Fortran 2023 is the current standard, widely used in climate modeling and physics simulation.
- LISP (1958): John McCarthy at MIT. First functional language; introduced garbage collection, recursion, and symbolic computation. Parent of all AI research languages for three decades.
- COBOL (1959): Grace Hopper's influence and the CODASYL committee. Designed for business data processing with English-like syntax. An estimated 800 billion lines of COBOL remain in production as of 2023, processing $3 trillion in daily financial transactions.
- ALGOL 60 (1960): International committee. Introduced block structure, lexical scoping, and formal syntax notation (Backus-Naur Form). Ancestor of C, Pascal, Java, and most modern languages.
- BASIC (1964): John Kemeny and Thomas Kurtz at Dartmouth. Designed for non-expert students. Became the first language millions of home computer users learned in the 1970s and 1980s.
The 1970s: Systems Programming Languages
The advent of minicomputers and the Unix operating system drove demand for languages that offered control over hardware without the tedium of assembly language.
Ken Thompson created B in 1969 for the PDP-7 at Bell Labs. Dennis Ritchie extended it into C by 1972, adding data types and a richer type system. C's combination of low-level memory control and high-level readability made it the language of operating systems. Unix was rewritten in C in 1973, and the Unix portability that resulted — moving Unix from PDP-7 to PDP-11 by recompiling rather than rewriting — demonstrated that high-level languages could replace assembly for systems programming.
- Pascal (1970, Niklaus Wirth) emphasized structured programming and was widely used in computer science education through the 1980s.
- Prolog (1972) introduced logic programming, becoming a primary AI research language alongside LISP.
- SQL (1974, IBM) provided a declarative language for relational database queries based on Edgar Codd's 1970 relational model — still the dominant database query language 50 years later.
Programming Language Evolution by Decade
| Decade | Dominant Languages | Key Innovation | Primary Application Domain |
|---|---|---|---|
| 1950s | FORTRAN, LISP, COBOL | Compilation, symbolic computation | Scientific, business, AI research |
| 1960s | ALGOL, BASIC, PL/I, Simula | Block structure, first OOP concepts (Simula) | Education, business, simulation |
| 1970s | C, Pascal, Prolog, SQL | Systems programming, logic programming | Operating systems, databases, AI |
| 1980s | C++, Ada, Objective-C, Perl | Object-oriented programming, text processing | Systems, government, Unix scripting |
| 1990s | Java, Python, Ruby, JavaScript, PHP | Platform independence (JVM), web scripting | Web, enterprise, scripting |
| 2000s | C#, Scala, Groovy, PowerShell | Managed memory, functional-OOP hybrids | Enterprise, DevOps |
| 2010s | Go, Swift, Kotlin, Rust, TypeScript | Memory safety, mobile, type inference | Cloud infrastructure, mobile, web |
| 2020s | Rust (growth), Python (AI), Mojo | MLIR-based AI languages, formal verification | AI/ML, systems, safety-critical |
The Object-Oriented Revolution
The object-oriented programming (OOP) paradigm — organizing programs around objects that bundle data and behavior — was conceptualized in Simula 67 (Ole-Johan Dahl and Kristen Nygaard, 1967) and fully realized in Smalltalk (Alan Kay, Dan Ingalls, Adele Goldberg at Xerox PARC, 1972). Bjarne Stroustrup added object-oriented features to C, creating C++ in 1983. The paradigm went mainstream with Java in 1995.
Java, designed by James Gosling at Sun Microsystems, introduced the Java Virtual Machine (JVM) — a bytecode interpreter that allowed "write once, run anywhere" execution across different operating systems. Java became the most-taught language in universities during the 2000s and powered the Android ecosystem after Google chose it as Android's primary language in 2008.
The Web Languages
Brendan Eich created JavaScript in 10 days in May 1995 at Netscape, under pressure to produce a scripting language for web browsers before a marketing deadline. Despite its rushed creation, JavaScript became the only language that runs natively in all web browsers, and as of 2023 the most-used programming language on GitHub. Guido van Rossum had created Python in 1991 as a readable scripting language; it spent the 1990s as a niche tool before becoming the dominant language for data science and machine learning after NumPy (2006) and TensorFlow (2015) made it the standard choice for scientific computing.
- Python ranked as the most popular language in the TIOBE Index for 2021, 2022, 2023, and 2024 — the first language to achieve four consecutive years at the top.
- Rust, developed by Graydon Hoare at Mozilla and released 1.0 in 2015, introduced memory safety without garbage collection through an "ownership" system. The Linux kernel accepted Rust as a second implementation language in 2022, the first new language admitted in 25 years.
- The 2023 State of the Developer Nation report estimated 28.7 million active software developers globally, writing in over 700 distinct programming languages.
Related Articles
science history
Ada Lovelace: The First Computer Programmer and the Algorithm for a Machine That Didn't Exist Yet
Ada Lovelace wrote the first published computer algorithm in 1843 — for Charles Babbage's Analytical Engine, a machine that was never built. Her conceptual insights anticipated artificial intelligence debates by a century.
9 min read
science history
Damascus Steel: The Lost Metallurgical Secret That May Have Been Carbon Nanotubes
Damascus steel blades were legendary for their strength, sharpness, and distinctive watered pattern. The technique was lost by the 1750s — and researchers only recently discovered why it worked so well.
9 min read
science history
History of Aviation: Wright Brothers to the Jet Age
Twelve seconds and 120 feet at Kitty Hawk on December 17, 1903 launched aviation. From Langley's failed attempt days earlier to WWI acceleration, jet engines, and supersonic flight in 1947.
9 min read
science history
History of Photography: Niépce's 8-Hour Exposure to Digital
Niépce's 1826 View from the Window took 8 hours to expose. From Daguerre's silver plates to Kodak Brownie democratization, Polaroid, and the 1969 CCD sensor that made digital possible.
9 min read