Difference Engine, een vroege rekenmachine, op het randje van de eerste computer, ontworpen en gedeeltelijk gebouwd in de jaren 1820 en ’30 door Charles Babbage. Babbage was een Engelse wiskundige en uitvinder; hij vond de koeienvanger uit, hervormde het Britse postsysteem, en was een pionier op het gebied van operations research en actuariële wetenschap. Het was Babbage die voor het eerst suggereerde dat het weer van de afgelopen jaren kon worden afgelezen uit boomringen. Hij had ook een levenslange fascinatie voor sleutels, cijfers en mechanische poppen (automaten).
Als stichtend lid van de Royal Astronomical Society had Babbage een duidelijke behoefte gezien om een mechanisch apparaat te ontwerpen en te bouwen dat lange, vervelende astronomische berekeningen kon automatiseren. Hij begon met het schrijven van een brief in 1822 aan Sir Humphry Davy, voorzitter van de Royal Society, over de mogelijkheid om de constructie van wiskundige tabellen te automatiseren, in het bijzonder logaritmetafels voor gebruik in de navigatie. Vervolgens schreef hij een artikel, “On the Theoretical Principles of the Machinery for Calculating Tables”, dat hij later dat jaar aan de Society voorlas. (Het won de eerste gouden medaille van de Royal Society in 1823.) De toen gebruikte tabellen bevatten vaak fouten, die voor zeelieden op zee van levensbelang konden zijn, en Babbage stelde dat hij, door de productie van de tabellen te automatiseren, de nauwkeurigheid ervan kon verzekeren. Nadat Babbage in de samenleving steun had gekregen voor zijn Difference Engine, zoals hij die noemde, wendde hij zich tot de Britse regering om de ontwikkeling te financieren en kreeg hij een van ’s werelds eerste overheidssubsidies voor onderzoek en technologische ontwikkeling.
Babbage pakte het project zeer serieus aan: hij huurde een meester-machinist in, richtte een vuurvaste werkplaats in en bouwde een stofvrije omgeving om het apparaat te testen. Tot dan toe werden berekeningen zelden uitgevoerd tot meer dan 6 cijfers; Babbage was van plan routinematig 20- of 30-cijferige resultaten te produceren. De Difference Engine was een digitaal apparaat: het werkte met discrete cijfers in plaats van gladde hoeveelheden, en de cijfers waren decimaal (0-9), voorgesteld door posities op tandwielen, in plaats van de binaire cijfers (“bits”) die de Duitse wiskundige-filosoof Gottfried Wilhelm von Leibniz in zijn Step Reckoner had geprefereerd (maar niet gebruikte). Wanneer een van de tandwielen van 9 naar 0 werd gedraaid, schoof het volgende wiel een positie op en droeg het cijfer, net zoals Leibniz’s Step Reckoner rekenmachine had gedaan.
De Difference Engine was echter meer dan een eenvoudige rekenmachine. Het mechaniseerde niet slechts een enkele berekening, maar een hele reeks berekeningen over een aantal variabelen om een complex probleem op te lossen. Ook in andere opzichten ging hij veel verder dan rekenmachines. Net als moderne computers had de Difference Engine een opslagplaats, d.w.z. een plaats waar gegevens tijdelijk konden worden bewaard om later te worden verwerkt, en was hij ontworpen om zijn output in zacht metaal te persen, dat later kon worden gebruikt om een drukplaat te maken.
Nog steeds voerde de differentiemachine slechts één bewerking uit. De operator stelde alle dataregisters in met de oorspronkelijke gegevens en vervolgens werd de ene bewerking herhaaldelijk toegepast op alle registers, wat uiteindelijk een oplossing opleverde. Toch, in complexiteit en gedurfdheid van het ontwerp, dwergde het elk rekenapparaat dat toen bestond.
De volledige machine, ontworpen om kamergroot te zijn, werd nooit gebouwd, althans niet door Babbage. Hoewel hij verschillende overheidssubsidies ontving, waren deze sporadisch – regeringen wisselden, financiering liep vaak uit, en hij moest persoonlijk een deel van de financiële kosten dragen – en hij werkte op of nabij de toleranties van de constructiemethoden van die tijd en liep tegen tal van constructieproblemen aan. Alle ontwerp- en bouwwerkzaamheden werden in 1833 gestaakt, toen Joseph Clement, de machinist die verantwoordelijk was voor de bouw van de machine, weigerde door te gaan tenzij hij vooruitbetaald zou worden. (Het voltooide deel van de Difference Engine is permanent tentoongesteld in het Science Museum in Londen). Zie ook Analytical Engine.