đź’»

Programming Language Evolution

Sep 5, 2025

Overview

This lecture provides a chronological summary of major programming languages, highlighting their creators, key features, and historical significance from the 1800s to 2020.

Early Origins (Pre-1950)

  • 1883: Ada Lovelace wrote the first algorithm for Babbage's Analytical Engine, recognized as the earliest programming language.
  • 1949: Assembly language was created, closely tied to machine code, implemented on the EDSAC calculator.

The 1950s: Foundation Languages

  • 1952: Autocode, a family of compiled languages, was first implemented for the Manchester Mark I.
  • 1957: FORTRAN (Formula Translation), developed by IBM, was made for mathematical calculations.
  • 1958: ALGOL (Algorithmic Language) introduced structured syntax, code blocks, and nested functions with scoping.
  • 1959: COBOL (Common Business Oriented Language) created for business applications, still used in legacy systems.
  • 1959: LISP (List Processing Language) introduced, focusing on linked lists and artificial intelligence.

1960s-1970s: Expanding Access and Structure

  • 1964: BASIC (Beginner's All-purpose Symbolic Instruction Code) was designed for student accessibility.
  • 1970: Pascal promoted structured programming and was widely used in education and early Apple software.
  • 1972: Smalltalk introduced change-on-the-fly coding and influenced future languages.
  • 1972: C, by Dennis Ritchie at Bell Labs, enabled portable UNIX systems and became highly influential.
  • 1972: SQL (Structured Query Language) created for managing and querying databases.
  • 1978: MATLAB (Matrix Laboratory) developed for advanced mathematical computations.

1980s: Object-Orientation and Scripting

  • 1983: Objective-C combined C with messaging from Smalltalk, main Apple language until Swift.
  • 1983: C++ extended C with object-oriented features for systems programming.
  • 1987: Perl introduced for text editing, scripting, and system administration.

1990s: Web & Functional Programming

  • 1990: Haskell (after Haskell Curry) introduced as a functional language, with type inference and lazy evaluation.
  • 1991: Python emphasized readability and ease of use, popular in data science.
  • 1991: Visual Basic enabled graphical programming via drag-and-drop.
  • 1993: R was designed for statistics and data science.
  • 1995: Java targeted “write once, run anywhere” and object-oriented design.
  • 1995: PHP was created for web development and powers sites like WordPress.
  • 1995: Ruby merged features from various languages for web development, with dynamic typing and garbage collection.
  • 1995: JavaScript was designed to enhance web browser interactivity.

2000s–2010s: Modern Evolution

  • 2000: C# (C-Sharp) by Microsoft combined C++ and Visual Basic features for the .NET framework.
  • 2003: Scala integrated functional and object-oriented programming, improving on Java.
  • 2003: Groovy made learning Java easier with concise syntax.
  • 2009: Go (Golang) by Google focused on memory safety and simplicity, inspired by C.
  • 2014: Swift replaced Objective-C for Apple development, prioritizing safety and user-friendliness.

Key Terms & Definitions

  • Algorithm — A step-by-step procedure for calculations or problem-solving.
  • Compiler — A tool that translates source code into machine code.
  • High-level language — Programming language closer to human language than machine code.
  • Object-oriented programming (OOP) — A paradigm based on objects and classes.
  • Functional programming — A paradigm treating computation as function evaluation.

Action Items / Next Steps

  • Review the major languages and their unique features.
  • Research at least one language in depth (e.g., Python, Java, C++).
  • Study the evolution of programming paradigms (procedural, OOP, functional).