Chronology — 326 entries
Timeline
326 entries, from the third century BC to today. Filter by domain, or search for people, technologies and years.
326 entries
Prehistory
From Euclid to Boole
350 BCAristotle, OrganonSystematised the syllogism and introduced the idea of formal validity.1654Pascal and Fermat correspondProbability is born from a problem about gambling.1713Bernoulli, Ars ConjectandiThe law of large numbers is proved for the first time.1736Euler solves the seven bridgesGraph theory is born.1763Bayes' theorem publishedInverse probability and the updating of belief.1854Boole, The Laws of ThoughtDescribed propositional logic in algebra: truth values 0/1, with and, or, not as multiply, add, complement.1874Cantor proves the reals uncountableThe diagonal argument appears, and infinity splits into different cardinalities.1879Frege, BegriffsschriftIntroduced quantifiers and predicates, building the first complete first-order logic.1894Bachmann introduces O notationAn upper bound on how fast a function grows.
1900 — 1949
Logic and the dawn of electronics
1901Russell's paradoxNaive set theory develops a crack.1908Zermelo's axiomatisationThe axiom of separation restricts how sets may be constructed.1922ZFC takes shapeFraenkel and Skolem complete the axiom of replacement.1928Hilbert poses the EntscheidungsproblemHe asks for a decision procedure for predicate logic.1928Hartley measures information in logarithmsA precursor to Shannon's theory.1930Gödel's completeness theoremSemantic entailment and formal provability in first-order logic coincide exactly.1931The incompleteness theoremsSelf-reference and coding expose the intrinsic limits of formal systems.1933Kolmogorov's axiomatisationProbability becomes part of measure theory.1936Turing defines computabilityThe Turing machine reformulates 'algorithm' and proves the halting problem undecidable.1936On Computable NumbersThe Turing machine — and the universal Turing machine — are born.1936Church introduces the lambda calculusAn equivalent model of computability, built from function abstraction.1936The halting problem is undecidableThe diagonal argument, applied to programs.1936The Entscheidungsproblem has no solutionHilbert's programme is proved impossible.1937Shannon's master's thesisProves switching circuits are isomorphic to Boolean algebra: circuit design gains a mathematical tool.1940Simply typed lambda calculusChurch adds types to avoid paradoxes.1943The McCulloch–Pitts neuronNeural activity described with logic gates.1945von Neumann's EDVAC reportTurns the universal Turing machine into a stored-program architecture.1945Merge sortvon Neumann implements it on the EDVAC.1945The EDVAC reportThe classic description of the stored-program architecture.1947The point-contact transistorBardeen, Brattain and Shockley at Bell Labs.1948The Manchester BabyThe first machine to run a stored program.1948A Mathematical Theory of CommunicationEntropy, channel capacity and rate–distortion arrive together.1949EDSAC goes into serviceThe first practical stored-program computer.
1950 — 1969
Computing becomes an industry
1950The Turing testPuts an operational definition of intelligence on the table.1950Hamming codesThe first practical error-correcting code.1951Kleene's theoremRegular expressions and finite automata are equivalent.1951UNIVAC IThe first commercial computer.1952Quine–McCluskey algorithmA tabular method for minimal sum-of-products, implementable as a program.1952The A-0 systemA compiler pioneer.1953Karnaugh mapsAdjacent minterms in a grid make hand simplification visual.1953Rice's theoremEvery non-trivial semantic property of programs is undecidable.1953Bellman introduces dynamic programmingOptimising decisions made in stages.1953Hash tablesAverage constant-time lookup through a hash function.1954The FORTRAN proposalBackus starts it at IBM.1956Dijkstra's shortest pathsSingle-source shortest paths with non-negative weights.1956The Chomsky hierarchyFormal languages classified by generative power.1956Magnetic-core memoryRandom-access main memory becomes real.1956The Dartmouth workshopArtificial intelligence gets its name.1956GM-NAA I/OAn early batch-processing operating system.1957Prim and Kruskal: minimum spanning treesTwo greedy strategies for the same problem.1957A FORTRAN compilerGenerated code reaches usable speed.1957GPS, the General Problem SolverNewell and Simon.1957The FORTRAN compiler shipsThe first widely used high-level language.1958LISP appearsMcCarthy designs it at MIT, bringing the lambda calculus into programming languages.1958The first integrated circuitKilby puts several components on one piece of material.1958LISPThe programming language of AI.1958ALGOL 58An international committee starts the design.1958The perceptronA learnable linear classifier.1959The planar processNoyce and Moore make integrated circuits manufacturable.1960QuicksortHoare's in-place divide and conquer.1960Parsing theoryLL and LR analysis mature.1960Garbage collectionThe beginning of automatic memory management.1960The ALGOL 60 reportBNF, block structure and lexical scope.1961CTSS goes liveThe first time-sharing system.1961Kleinrock's packet-switching paperQueueing theory applied to packet networks.1962Floyd–WarshallAll-pairs shortest paths by dynamic programming.1962B-treesA multiway balanced tree designed for disk indexes.1962Atlas demand pagingThe first implementation of virtual memory.1963The continuum hypothesis is independentCohen's forcing shows CH cannot be decided from ZFC.1963SketchpadInteractive graphics and constraint solving.1964HeapsortWilliams gives an in-place algorithm with worst-case O(n log n).1964Union–findNear-constant-time merging and querying of sets.1964Multics beginsHierarchical file systems and virtual memory.1964Baran's distributed networkNetworks designed for survivability.1964Sutherland joins ARPAHe pushes graphics and networking research.1964IBM System/360The model for CISC and for compatibility.1965LR parsingKnuth defines a grammar class that can be parsed efficiently.1965Moore's lawComponent counts roughly double every two years.1965The cache ideaWilkes proposes a small, fast buffer memory.1965Polynomial time as the yardstickProposed independently by Cobham and Edmonds.1965The Multics process modelAddress spaces and resource isolation.1965DENDRALAn expert system for mass spectrometry.1965The Ultimate DisplaySutherland's vision.1966ELIZAOne of the first chatbots.1966The first standardFORTRAN 66.1967The Viterbi algorithmThe best path through a hidden Markov model.1967IBM CP/CMSA forerunner of the hypervisor.1967Simula 67Where classes and inheritance begin.1968DRAM is inventedOne transistor per bit.1968Dijkstra on gotoA manifesto for structured programming.1968The HMD paperAn early vision of virtual reality.1968Knuth systematises algorithm analysisThe first volume of The Art of Computer Programming appears.1968The NATO software engineering conferenceThe moment the discipline is named.1968The Mother of All DemosThe mouse and hypertext.1968The first head-mounted displayA mechanically tracked headset.1969Curry–Howard correspondencePrograms and proofs are shown to be the same kind of object.1969Perceptrons (the book)It points out the limits of single-layer networks.1969Unix is bornIt grows out of the ruins of Multics.1969ARPANET's first four nodesThe ancestor of the Internet.1969Unix virtual memoryfork and copy-on-write.1969Unix, first editionAn internal project at Bell Labs.
1970 — 1989
Microprocessors, networks, personal computing
1970Logic synthesis tools appearSimplification moves from paper into programs, and scale takes off.1970Denotational semanticsScott builds a model of the lambda calculus from domain theory.1970Recursion theory takes shapeComputability becomes a branch of its own.1970Needleman–WunschDynamic programming for biological sequence alignment.1970Knapsack and interval DP systematisedBoth enter the algorithms textbooks.1970PascalThe model teaching language.1970Decision-tree lower boundsComparison sorting needs Omega(n log n).1970Royce's waterfall paperThe classic statement of staged process.1970The SDLC spreadsThe software lifecycle becomes a management framework.1970Codd's relational modelTables, relational algebra and data independence.1971Electronic mailThe first killer application.1971Cook's theoremSAT is NP-complete.1971Unix fork/execLightweight process creation.1971Intel 4004The first commercial microprocessor.1971ALOHAnetA pioneer of random access over radio.1972Edmonds–Karp max flowBreadth-first search keeps it polynomial.1972Red–black treesA balanced binary search tree you can actually implement.1972Karp's 21 problemsNP-completeness turns out to be everywhere.1972MYCINRule-driven medical diagnosis.1972SmalltalkMessage passing and a pure object environment.1972C is createdDesigned to rewrite Unix.1972SCCSOne of the first version-control systems.1973Amortised analysisSpread the cost of a whole sequence of operations across each one.1973Xerox AltoBitmap screen and overlapping windows.1973Unix rewritten in CPortability brings wide adoption.1973Metcalfe designs EthernetCSMA/CD on a shared bus.1974System RA prototype of SQL and query optimisation.1974Intel 8080It fuels the personal-computer wave.1974Cerf and Kahn propose TCPThe core protocol for internetworking.1974SEQUEL is proposedIBM's relational query language.1975SchemeA minimalist Lisp dialect.1975The Mythical Man-MonthBrooks's law: adding people does not speed things up.1976Diffie–HellmanPublic-key cryptography and key exchange.1976Transactions in System RTwo-phase locking and recovery.1977FORTRAN 77Structured control flow.1977Sanger sequencingWhere DNA sequencing begins.1977RSAThe difficulty of factoring large integers.1978Intel 8086The starting point of x86.1978The K&R bookThe de facto standard.1978TCP and IP splitThe layered design settles.1978Logical clocksCausality and partial order.1979Oracle goes commercialThe relational database reaches the market.1979Oracle ships SQLCommercial adoption spreads.1979Merkle treesA structure for verifying integrity.1980Multi-level cachesL1 and L2 become standard on processors.1980PCs enter protected modeVirtual memory reaches personal computers.1980RISC is proposedPatterson starts the RISC project at Berkeley.1980XCONThe commercial peak of expert systems.1980The DIX standardThree companies agree on one specification.1980Whitted ray tracingRecursive reflection and refraction.1981The IBM PCAn open architecture creates the clone industry.1981RFC 791 / 793The formal specifications of IP and TCP.1981Gray's transaction paperACID made systematic.1981Feynman's idea of quantum simulationThe starting thought of quantum computing.1982RCSVersion control for single files.1982The Byzantine generals problemAgreement with faulty nodes.1983C++Objects enter systems programming.1983System V and BSD divergeTwo branches: commercial and academic.1983IEEE 802.3The international standard.1983ARPANET switches to TCP/IPThe Internet's birthday.1983The term ACIDCoined by Härder and Reuter.1983The DNS specificationMockapetris designs hierarchical naming.1983The GNU projectThe free-software movement begins.1984Common LispA large, standardised Lisp.1984MacintoshThe GUI reaches the public.1984RadiosityAn energy method for global illumination.1984Root servers deployedThirteen root server addresses.1985MIPS R2000A commercial RISC processor.1985The Mach microkernelUser-level threads and message passing.1985Elliptic-curve cryptographyShorter keys for the same strength.1985The FLP impossibility resultThe limit of consensus in asynchronous systems.1985The quantum Turing machineDeutsch's model.1985The Free Software FoundationAn organisational and legal home for GNU.1986The Dragon BookThe classic compiler textbook.1986BackpropagationMulti-layer networks become trainable.1986The spiral modelBoehm introduces risk management.1986SQL is standardisedANSI SQL.1986SQL-86Standardised by ANSI.1986The Reyes pipelineFilm-grade micropolygon rendering.1987The AI winterThe market for specialised hardware collapses.1988The POSIX standardAn effort to standardise the interfaces.1988Congestion controlVan Jacobson keeps the network from collapsing.1988Bayesian networksProbabilistic graphical models.1988The Morris wormThe first large-scale network worm.1989Skip listsProbabilistic balance instead of strict rotations.1989C89Standardised by ANSI.1989The GPL, version 1Copyleft becomes law.1989LeNetA convolutional network reads handwritten digits.1989Berners-Lee's proposalThe starting point of the Web.1989Q-learningModel-free temporal-difference control.1989Paxos is writtenLamport's consensus algorithm.
1990 — 2009
The Web and the graphical interface
1990MCMC becomes practicalHigh-dimensional posterior inference becomes feasible.1990Fortran 90Modules, array operations and free-form source.1990ARM is foundedLow-power RISC moves into mobile devices.1990The Human Genome ProjectLarge-scale collaboration.1990CVSMulti-person collaboration and open source.1990Switched EthernetCollision domains disappear.1990MVCC spreadsReads stop blocking writes.1991The Linux kernel is releasedThe start of open-source Unix-compatible systems.1991GSM goes commercialThe digital cellular standard.1991PGPPublic-key encryption for individuals.1991The Linux kernelA model of global collaboration.1991The first websiteOnline at CERN.1991Project OakDesigned for consumer electronics.1992The PCP theoremA deep link between approximation and proof verification.1992SQL-92One of the most important revisions of the standard.1992MD5Widely used, later found to collide.1992TD-GammonAn early success at self-play.1993Turbo codesIterative decoding that approaches the Shannon limit.1993The Mosaic browserInline images bring the Web to everyone.1994Design PatternsThe GoF formalise experience.1994Shor's algorithmQuantum factoring and discrete logarithms.1995Threads built into JavaConcurrency enters a mainstream language.1995JavaPortability and garbage collection.1995Windows 95Graphical interfaces on the PC.1995SHA-1The basis of TLS and Git.1995Support vector machinesKernels and the maximum margin.1995Java is releasedWrite once, run anywhere.1995SSL 2.0Netscape's security layer.1996Grover's algorithmA quadratic speed-up for search.1996HTTP/1.0Standardised.1996JDK 1.0The first official release.1997IEEE 802.11Wi-Fi is born.1998ICANN is foundedThe body for names and addresses.1998The OSI is foundedThe term 'open source' is coined.1998Paxos is publishedThe paper appears nine years late.1999VMware is foundedx86 virtualisation becomes a business.1999C99Variable-length arrays and inline functions.1999TLS 1.0Standardised by the IETF.1999GeForce 256The word GPU reaches a wide audience.1999Extreme Programming ExplainedKent Beck systematises XP.2000LLVMModular compiler infrastructure.2000NUMA and the memory wallThe coherence challenge of the multicore era.2000Huge pages and TLB tuningA response to the memory wall.2000P vs NP becomes a Millennium ProblemA one-million-dollar prize on the table.2000SVNA central repository with atomic commits.200010 Gigabit and the datacentreEthernet moves into the backbone.2000The CAP theoremConsistency, availability, partition tolerance.2000Gradient-boosted treesThe workhorse for tabular data.2001The Agile ManifestoA reaction against document-heavy process, written at Snowbird.2001The human genome draftSequence data explodes.2001Random forestsThe face of ensemble learning.2001Programmable shadersGPUs begin to accept general programs.2002TimsortAn adaptive merge sort designed for real-world data.2002Scrum spreadsIterations and role separation.2003XenParavirtualisation, an early foundation of cloud computing.2003Window functionsAnalytical queries get stronger.2003The GFS paperA distributed file system.2004MD5 and SHA-1 collisionsAttacks by Wang Xiaoyun's team.2004The MapReduce paperA programming model for batch processing.2005Multicore goes mainstreamConcurrency becomes a general programming problem.2005Multicore becomes mainstreamClock speeds stall and parallelism becomes the main road.2005GitDistributed version control.2006Deep belief networksLayer-by-layer pretraining.2006HotSpot goes open sourceJIT compilation and runtime optimisation.2006CUDAAn operating system for general-purpose GPU computing.2006HadoopThe open-source implementation.2006BigTableColumn families and distributed indexes.2006AWS S3 / EC2Public cloud goes commercial.2007ClojureA modern Lisp on the JVM.2007iPhoneMulti-touch.2007DynamoEventual consistency and consistent hashing.2008Polar codesAdopted for 5G control channels.2008GitHubSocial collaboration for code.2008AndroidJava reaches mobile.2008Google App EngineAn early PaaS.2008The Bitcoin whitepaperPermissionless consensus.20094G LTEMobile broadband.2009WebGL3D in the browser.2009MongoDB and RedisDocument and in-memory stores go mainstream.2009The genesis blockThe Bitcoin network starts.
2010 — today
Deep learning, cloud and mobile
2010RISC-VAn open, extensible instruction set.2010Agile at scaleFrameworks such as SAFe appear.2010SparkIn-memory computing and RDDs.2010OpenStackThe open-source cloud platform.2012Oculus RiftConsumer VR revived.2012SpannerGlobally distributed, strongly consistent transactions.2012AlexNetGPU-trained deep networks begin.2012NewSQLFusion routes such as VoltDB and Spanner.2013DockerThe container becomes the unit of development and delivery.2013DQNDeep reinforcement learning plays Atari.2013EthereumSmart contracts.2014KubernetesContainers get a de facto orchestrator.2014HeartbleedA memory leak in OpenSSL.2014RaftDesigned for understandability.2014etcd adopts RaftThe configuration backbone of Kubernetes.2014FlinkStream and batch in one engine.2014GANsAdversarial training generates images.2014VAEsVariational inference with latent variables.2014AttentionBahdanau applies it to machine translation.2015SHA-3Keccak is standardised.2015ResNetResidual connections train very deep networks.2015HTTP/2Multiplexing and header compression.2015Let's EncryptFree certificates make HTTPS universal.2015Ethereum mainnet launchesA programmable blockchain.2015Raft becomes popularA consensus algorithm you can understand.2016Consumer VR arrivesVive and PSVR.2016The IANA transitionRoot-zone management becomes multistakeholder.2016AlphaGoIt beats Lee Sedol.2016The NIST PQC competitionStandardisation begins.2017WannaCryRansomware goes global.2017AlphaZeroGeneral game learning from scratch.2017TPUs and dedicated acceleratorsGoogle puts tensor arithmetic into silicon.2017CockroachDB and TiDBNewSQL goes commercial.2017TransformerThe self-attention architecture.2018Real-time ray tracingRTX hardware.2018Spectre and MeltdownCPU side channels.2018TLS 1.3Faster handshakes and stronger defaults.2018Real-time ray tracing in shadersRay tracing combined with rasterised shading.2018BERT and GPTPretrain then fine-tune; pretrain then generate.20195G goes commercialLow latency and massive IoT.2019Quantum supremacyThe Sycamore sampling experiment.2020AlphaFold 2A breakthrough in protein structure prediction.2020NeRFNeural radiance fields reconstruct a scene.2020DDPMDiffusion models.2020GPT-3Scale brings few-shot ability.2021Log4ShellAn open-source supply-chain crisis.2021CLIP and DALL·EAligning text and images.2022C23A modern revision.2022HTTP/3 and QUICA new transport built on UDP.2022The first algorithms are chosenKyber, Dilithium and others.2022The MergeEthereum moves from proof of work to proof of stake.2022Stable DiffusionOpen-source image generation.2022ChatGPTLarge models reach the mass market.2023Vision ProSpatial computing.2024The FIPS standards arriveML-KEM, ML-DSA and SLH-DSA.