History of computing
207 inventions by year: what each evolved from and what it led to.
How the inventions are connected
- Mechanical calculator → Leibniz’s stepped reckoner → Arithmometer → Electronic calculator → Microprocessor → Microcontroller
- Time-sharing → Unix → Linux → Git
- Command line → Graphical user interface → macOS → iOS
- Mechanical calculator → Babbage’s Difference Engine → Babbage’s Analytical Engine → Harvard Mark I
- Minicomputer → Personal computer → Laptop
- C → C++ → Java
| Year | Invention | What it is | Evolved from | Led to |
|---|---|---|---|---|
| 2700 BC | Abacus | A counting board with movable pebbles or beads. | ||
| 100 BC | Antikythera mechanism | An ancient Greek geared mechanism for calculating the positions of celestial bodies. | ||
| 1622 | Slide rule | An analogue instrument for multiplying with logarithms. | ||
| 1642 | Mechanical calculator | The Pascaline — a machine for adding and subtracting. | Leibniz’s stepped reckoner, Babbage’s Difference Engine | |
| 1694 | Leibniz’s stepped reckoner | The first calculator that multiplied, using a stepped drum. | Mechanical calculator | Arithmometer |
| 1725 | Program control of a machine Herman Hollerith, Charles Babbage | A machine’s sequence of actions is set by a replaceable medium — punched tape, punched cards, a program in memory. | ||
| 1725 | Punched card Herman Hollerith, Charles Babbage | A card in which information is encoded by the presence or absence of holes. | ||
| 1822 | Babbage’s Difference Engine Charles Babbage | A mechanical calculator for tabulating polynomials. | Mechanical calculator | Babbage’s Analytical Engine |
| 1837 | Babbage’s Analytical Engine Charles Babbage | A design for a general-purpose mechanical computer programmed with punched cards. | Jacquard loom, Babbage’s Difference Engine | Harvard Mark I |
| 1843 | Ada Lovelace’s program | An algorithm for computing Bernoulli numbers on the Analytical Engine. | Programming language | |
| 1851 | Arithmometer Charles Xavier Thomas | A mass-produced mechanical calculator (Thomas, Odhner). | Leibniz’s stepped reckoner | Electronic calculator |
| 1868 | Keyboard | A set of keys for entering characters. | ||
| 1872 | Tide-predicting machine | A mechanical analogue computer of tides (Kelvin). | Differential analyser | |
| 1879 | Cash register James Ritty | A machine for recording sales (Ritty). | Self-checkout | |
| 1890 | Hollerith tabulator | An electromechanical machine for processing census data from punched cards. | Mainframe, Database | |
| 1918 | Flip-flop | A circuit with two stable states — a memory cell (Bonch-Bruevich, Eccles and Jordan). | ||
| 1926 | Joystick | A control lever. | Gamepad | |
| 1928 | Magnetic tape | A tape with a magnetic layer for recording sound and data (Pfleumer). | ||
| 1931 | Differential analyser | A mechanical analogue computer (Bush). | Tide-predicting machine | |
| 1936 | Turing machine Alan Turing | An abstract model of computation. | ||
| 1937 | Logic gate | A circuit that performs a logical operation (Shannon). | ||
| 1939 | Speech synthesis | Dudley’s Voder; modern neural synthesis. | ||
| 1940 | Turing’s Bombe Alan Turing | An electromechanical device for breaking Enigma. | ||
| 1941 | Zuse Z3 | The first working programmable computer, built from relays. | ||
| 1943 | Colossus | A British electronic codebreaking machine built with vacuum tubes. | ||
| 1944 | Harvard Mark I | Howard Aiken’s electromechanical programmable computer. | Babbage’s Analytical Engine | |
| 1945 | Computer Charles Babbage | A programmable machine for processing information. | Smartphone | |
| 1945 | ENIAC | One of the first general-purpose electronic digital computers. | UNIVAC I | |
| 1945 | Von Neumann architecture | The program and data are stored in the same computer memory. | ||
| 1945 | Breadth-first search Konrad Zuse | Traversing a graph level by level (Zuse, 1945; Moore, 1959). | ||
| 1946 | Trackball | A ball pointing device. | Computer mouse | |
| 1950 | Payment card | A card for payments; with a magnetic stripe since the 1960s. | Paper money | Mobile payments |
| 1950 | MESM | The first computer in the USSR and continental Europe (Lebedev). | ||
| 1951 | Magnetic-core memory | Bits are stored in the magnetization of rings. | RAM | |
| 1951 | UNIVAC I | The first mass-produced commercial computer in the US. | ENIAC | |
| 1952 | Barcode | A machine-readable code of bars. | QR code | |
| 1952 | Compiler | A program that translates code into machine instructions (Hopper). | ||
| 1952 | Speech recognition | Turning speech into text. | ||
| 1953 | Printer | A device for printing on paper. | ||
| 1953 | Hash function | Mapping data to a short fingerprint. | ||
| 1954 | Machine translation | Automatic translation (the Georgetown experiment). | ||
| 1955 | Light pen | A pointer for drawing on a CRT. | ||
| 1956 | Hard disk drive | Magnetic platters with heads (IBM 350). | Solid-state drive | |
| 1956 | Operating system | A program that manages a computer’s resources. | ||
| 1956 | ROM | Read-only memory. | ||
| 1957 | Photolithography | Transferring a circuit pattern onto silicon with light through a mask. | Camera | |
| 1957 | Programming language | A formal language for writing programs (Fortran). | Ada Lovelace’s program | |
| 1957 | Fortran | The first widely used high-level language (Backus, IBM). | ||
| 1958 | Integrated circuit | Many transistors and connections on a single chip. | ||
| 1958 | Artificial neural network | A model of connected “neurons”; Rosenblatt’s perceptron. | ||
| 1958 | Video game | A game on an electronic screen (Tennis for Two, Pong). | Board game | |
| 1958 | Perceptron Frank Rosenblatt | The first trainable neural network machine (Rosenblatt). | ||
| 1958 | Lisp | A list-processing language (McCarthy) — the language of early AI. | ||
| 1959 | Dijkstra’s algorithm Edsger W. Dijkstra | Finding the shortest path in a weighted graph. | A* algorithm | |
| 1959 | Virtual memory | Paging to disk (Atlas). | ||
| 1959 | COBOL | A language for business applications (based on Hopper’s ideas). | ||
| 1960 | Server | A computer that serves requests from other computers. | ||
| 1960 | Computer graphics | Creating images by computer. | ||
| 1960 | Silicon wafer | A disc of single-crystal silicon on which chips are made. | ||
| 1960 | Cleanroom | A room with minimal dust for making chips (Whitfield). | ||
| 1961 | Electronic calculator | A calculator built on electronics (ANITA; pocket ones in the 1970s). | Arithmometer | Microprocessor |
| 1961 | Time-sharing | Many users working at once (CTSS). | Unix, Password | |
| 1961 | Password | A secret for logging in (CTSS). | Time-sharing | |
| 1961 | File system | Organizing files on a storage medium. | ||
| 1963 | Sketchpad | The first interactive graphics program, with a light pen. | CAD, Graphical user interface | |
| 1963 | CAD | Computer-aided design (Sutherland’s Sketchpad). | Sketchpad | |
| 1963 | CMOS Frank Wanlass | Pairs of complementary transistors with low power consumption. | ||
| 1964 | Mainframe | A large computer for organizations (IBM System/360). | Hollerith tabulator | |
| 1964 | Supercomputer | A computing system of the highest performance (CDC 6600). | ||
| 1964 | Face recognition | Identifying a person from an image of their face. | ||
| 1964 | Computer mouse Douglas Engelbart | Engelbart’s pointing device. | Trackball | |
| 1964 | Command line | A text interface. | Typewriter | Graphical user interface |
| 1964 | Plasma display | A display of gas-discharge cells (Bitzer). | ||
| 1964 | BASIC | A simple language for learning (Kemeny, Kurtz). | ||
| 1964 | SRAM | Memory built on flip-flops, fast and expensive. | ||
| 1965 | Touch layer (capacitive) | A grid of transparent electrodes that registers a finger’s touch by a change in capacitance. | ||
| 1965 | Minicomputer | A compact computer (PDP-8). | Personal computer | |
| 1965 | Chip package | A case with leads (DIP, BGA). | ||
| 1965 | Expert system | An expert’s rules in a program (DENDRAL). | Chess computer | |
| 1965 | Moore’s law | The number of transistors on a chip doubles roughly every two years. | ||
| 1966 | Chatbot | A conversational program (ELIZA). | AI assistant | |
| 1966 | Computer vision | Image analysis by computer. | ||
| 1967 | ATM | A machine that dispenses cash. | ||
| 1967 | Virtualization | Virtual machines on one computer (IBM CP-40). | Containers (Docker) | |
| 1968 | Liquid-crystal display | A screen built on liquid crystals. | Display | |
| 1968 | Programmable logic controller | An industrial controller (Modicon). | Relay | |
| 1968 | RAM | Fast memory for current data (Dennard’s DRAM). | Magnetic-core memory | |
| 1968 | Display | A smartphone screen: a pixel matrix under protective glass with a touch layer. | Liquid-crystal display | |
| 1968 | Cache memory | Fast memory between the processor and RAM. | ||
| 1968 | A* algorithm Peter E. Hart, Nils John Nilsson | Pathfinding with a heuristic. | Dijkstra’s algorithm | |
| 1968 | API | An interface for programs to interact. | ||
| 1969 | Image sensor | An array of photocells that turn light into an electrical signal (CCD, CMOS). | ||
| 1969 | Unix | The Bell Labs operating system. | Time-sharing | Linux, macOS |
| 1969 | CCD sensor | A charge-coupled device (Boyle and Smith). | ||
| 1970 | Monitor | A computer’s image output device. | ||
| 1970 | Database | An organized store of data; Codd’s relational model. | Hollerith tabulator, Library catalogue | |
| 1970 | MEMS | Microelectromechanical systems — mechanics on a silicon chip. | ||
| 1970 | Fingerprint scanner | A biometric sensor. | ||
| 1970 | Backpropagation Seppo Linnainmaa | The algorithm for training multilayer networks (Linnainmaa, 1970; popularized in 1986). | ||
| 1970 | SCADA | Supervisory control of a plant. | ||
| 1971 | Microprocessor | A computer’s central processor on a single chip; the first commercial one was the Intel 4004. | Electronic calculator | Microcontroller |
| 1971 | Microcontroller | A processor, memory and peripherals on one chip (TMS1000). | Microprocessor | |
| 1971 | Laser printer | A printer based on xerography (Xerox). | ||
| 1971 | Arcade machine | An arcade cabinet (Computer Space, Pong). | Pinball | |
| 1971 | Floppy disk | A flexible magnetic disk. | USB flash drive | |
| 1971 | EPROM | ROM erasable with ultraviolet light (Frohman). | Flash memory | |
| 1971 | Computer virus | A self-copying program (Creeper). | ||
| 1972 | C | The systems language of Unix (Ritchie). | C++, Python | |
| 1972 | Game console | A computer for games (Magnavox Odyssey). | ||
| 1972 | Version control | A history of code changes (SCCS, Git). | ||
| 1973 | Graphical user interface Ivan Sutherland | Windows, icons and a pointer (Xerox Alto). | Command line, Sketchpad | macOS |
| 1973 | RFID | Radio-frequency identification. | ||
| 1974 | System on a chip (SoC) | A single chip that combines the processor, graphics, modem and controllers. | ||
| 1974 | Optical character recognition (OCR) | Turning an image of text into characters (Kurzweil). | ||
| 1974 | SQL | The query language of relational databases. | ||
| 1975 | Personal computer | A computer for one person (Altair, Apple II, IBM PC). | Minicomputer | Laptop |
| 1975 | Digital camera | A camera with an electronic sensor (Sasson, Kodak). | Camera | Smartphone camera |
| 1976 | Inkjet printer | Printing with droplets of ink. | ||
| 1976 | Public-key cryptography | Diffie–Hellman, RSA. | ||
| 1978 | Digital signal processor | A processor for handling signals. | ||
| 1978 | x86 architecture | The processor architecture of the Intel 8086 and its descendants. | ||
| 1979 | Spreadsheet | VisiCalc — the PC’s “killer app”. | ||
| 1980 | CPU cooler | A fan with a heat sink for cooling the processor. | ||
| 1980 | ASIC | A chip designed for a specific task. | ||
| 1980 | Network card | An Ethernet adapter. | ||
| 1980 | RISC architecture | Processors with a reduced instruction set (ARM, MIPS). | ||
| 1981 | Laptop | A portable computer. | Personal computer | |
| 1981 | Motherboard | A computer’s main board. | ||
| 1981 | Graphics card | A board with a graphics processor. | ||
| 1982 | Optical disc (CD/DVD) | Data is read by a laser. | ||
| 1983 | Gamepad | A game controller (Nintendo’s D-pad). | Joystick | |
| 1983 | Open-source software | Free software (GNU, Stallman). | ||
| 1984 | Flash memory | Non-volatile memory built on floating-gate transistors (Fujio Masuoka). | EPROM | |
| 1984 | Digital projector | A projector with a DLP or LCD panel. | Film projector | |
| 1984 | macOS | Apple’s OS (Macintosh). | Graphical user interface, Unix | iOS |
| 1984 | Tetris | Pajitnov’s game. | ||
| 1985 | C++ | C with classes (Stroustrup). | C | Java |
| 1985 | ARM architecture | An energy-efficient RISC architecture — the basis of smartphones. | ||
| 1985 | Desktop publishing | Page layout on a PC (PageMaker, PostScript). | Typography | |
| 1985 | FPGA Xilinx | A chip with reprogrammable logic (Xilinx). | ||
| 1985 | Windows | Microsoft’s operating system. | ||
| 1986 | Screen reader | Reading out the interface for blind users. | Braille | |
| 1987 | Pixel matrix (OLED) | An array of light-emitting organic diodes, each driven by its own transistor. | MicroLED | |
| 1987 | DLP chip | An array of micromirrors (Hornbeck, TI). | ||
| 1987 | Sound card | A board for sound input and output. | ||
| 1987 | Antivirus | Protection against malicious programs. | ||
| 1988 | Touchpad | A laptop’s touch-sensitive panel. | ||
| 1988 | Video compression | MPEG and H.264 codecs. | ||
| 1988 | Firewall | Filtering network traffic. | ||
| 1989 | Handheld console | Game Boy. | ||
| 1989 | Reinforcement learning | Training an agent with rewards (AlphaGo). | ||
| 1990 | Data centre | A building with thousands of servers. | ||
| 1991 | Webcam | A camera for a computer (the coffee pot in Cambridge). | ||
| 1991 | Linux | A free OS kernel (Torvalds). | Unix | Git |
| 1991 | Solid-state drive | A drive built on flash memory. | Hard disk drive | |
| 1991 | Python | A language with simple syntax (van Rossum). | C | |
| 1992 | Recommender system | Picking content to match interests. | ||
| 1992 | JPEG | A standard for compressing photographs. | ||
| 1993 | MP3 | Lossy audio compression based on psychoacoustics. | ||
| 1994 | QR code Denso Wave, Masahiro Hara | A two-dimensional barcode (Denso Wave). | Barcode | |
| 1995 | JavaScript | The scripting language of web pages (Eich). | JSON | |
| 1995 | Java | A language with a virtual machine (“write once, run anywhere”). | C++ | |
| 1995 | Two-factor authentication | Logging in with a password and a second factor. | ||
| 1996 | USB | The Universal Serial Bus. | USB-C | |
| 1997 | Chess computer | Deep Blue beat Kasparov. | Expert system | |
| 1997 | Electronic ink | A display made of microcapsules with pigment. | ||
| 1998 | Online payments | Paying on the Internet. | ||
| 1999 | Graphics processing unit | A processor for parallel computing of graphics and neural networks. | ||
| 1999 | Internet of things | Connecting household and industrial devices to the network. | ||
| 2000 | Smartphone camera | A lens and a light-sensitive CMOS sensor. | Camera, Digital camera | |
| 2000 | GPS tracking | Tracking movements with GPS. | ||
| 2000 | USB flash drive Amir Ban, IBM | Portable flash memory. | Floppy disk | |
| 2000 | CAPTCHA | A “human or robot” test. | ||
| 2001 | AES cipher | A symmetric encryption standard. | ||
| 2001 | JSON Douglas Crockford | A text data format (Crockford). | JavaScript | |
| 2002 | HDMI | A digital interface for video and sound. | ||
| 2002 | Digital twin | A virtual model of a physical object. | ||
| 2005 | Online maps | Interactive maps in the browser. | Map | |
| 2005 | Arduino | An open microcontroller board for learning. | ||
| 2005 | Git | A distributed version control system (Torvalds). | Linux | |
| 2006 | Cloud computing | Computing as a service in data centres. | ||
| 2007 | E-reader | A reading device with electronic ink. | Codex (book) | |
| 2007 | iOS | Apple’s mobile OS. | macOS | |
| 2008 | Mobile app | A program for a smartphone. | ||
| 2008 | Blockchain Satoshi Nakamoto | A distributed ledger of blocks (Bitcoin). | ||
| 2008 | Android | A mobile OS built on the Linux kernel. | ||
| 2008 | App store | A catalogue of mobile programs. | ||
| 2009 | Cryptocurrency | Digital money on a blockchain (Bitcoin). | ||
| 2010 | Tablet computer | A portable computer with a touchscreen. | Smartphone | |
| 2011 | Voice assistant | Speech recognition and replies (Siri, Alice). | ||
| 2012 | Deep learning Yann LeCun, Geoffrey Hinton | Training multilayer networks on GPUs (AlexNet). | ||
| 2012 | MicroLED | A display made of microscopic LEDs. | Pixel matrix (OLED) | |
| 2012 | Raspberry Pi | A single-board computer. | ||
| 2013 | Smartwatch | A wrist computer with a touchscreen. | Wristwatch, Fitness tracker | |
| 2013 | AR glasses | Glasses that overlay images on the world. | Glasses | |
| 2013 | Containers (Docker) | Isolating applications. | Virtualization | |
| 2014 | USB-C | A universal reversible connector. | USB | |
| 2014 | Mobile payments | Paying with a smartphone via NFC. | Payment card | |
| 2015 | Smart contract | A program on a blockchain (Ethereum). | ||
| 2016 | Tensor processing unit | A neural network accelerator (Google TPU). | ||
| 2016 | VR headset | A virtual reality headset. | Stereoscope | |
| 2017 | Transformer (architecture) | A neural network architecture built on attention. | ||
| 2018 | Large language model | A transformer neural network trained on text. | ||
| 2019 | EUV lithography | Photolithography in extreme ultraviolet for processes of a few nanometres. | ||
| 2021 | Image generation | Neural networks that draw from a description. | ||
| 2022 | AI assistant | Conversational helpers built on large language models. | Chatbot | |
| Mechanical reproduction of information | The idea that a machine reproduces a given pattern again and again in the same way — a text, a design or a sequence of operations. |