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.

The InfoNexus Editorial TeamMay 23, 20269 min read

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

DecadeDominant LanguagesKey InnovationPrimary Application Domain
1950sFORTRAN, LISP, COBOLCompilation, symbolic computationScientific, business, AI research
1960sALGOL, BASIC, PL/I, SimulaBlock structure, first OOP concepts (Simula)Education, business, simulation
1970sC, Pascal, Prolog, SQLSystems programming, logic programmingOperating systems, databases, AI
1980sC++, Ada, Objective-C, PerlObject-oriented programming, text processingSystems, government, Unix scripting
1990sJava, Python, Ruby, JavaScript, PHPPlatform independence (JVM), web scriptingWeb, enterprise, scripting
2000sC#, Scala, Groovy, PowerShellManaged memory, functional-OOP hybridsEnterprise, DevOps
2010sGo, Swift, Kotlin, Rust, TypeScriptMemory safety, mobile, type inferenceCloud infrastructure, mobile, web
2020sRust (growth), Python (AI), MojoMLIR-based AI languages, formal verificationAI/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.
programmingcomputer science historysoftware

Related Articles