Die Analytical Engine ist der Entwurf einer mechanischen Rechenmaschine für allgemeine Anwendungen. Sie stammt von dem britischen Mathematikprofessor Charles Babbage (1791–1871) und stellt einen wichtigen Schritt in der Geschichte des Computers dar.
Die Maschine wurde 1837 zum ersten Mal beschrieben, Babbage setzte die Arbeit an dem Entwurf aber bis zum Ende seines Lebens fort. Bedingt durch finanzielle und technische Probleme wurde die Analytical Engine nie gebaut. Es ist mittlerweile allerdings allgemein anerkannt, dass der Entwurf korrekt war und dass das Gerät funktioniert hätte. Vergleichbare Computer für allgemeine Anwendungen wurden erst 100 Jahre später wirklich konstruiert.
Babbage begann mit der Konstruktion seiner Differenzmaschine, einer mechanischen Rechenmaschine, die speziell für die Lösung polynomialer Funktionen konzipiert war. Als ihm klar wurde, dass eine viel allgemeinere Bauweise möglich wäre, begann er mit der Arbeit an der Analytical Engine.
Diese sollte von einer Dampfmaschine angetrieben werden und wäre über 30 Meter lang und 10 Meter breit gewesen. Die Eingabe (Befehle und Daten) sollte über Lochkarten erfolgen, eine Methode, die in der damaligen Zeit der Steuerung mechanischer Webstühle diente. Für die Ausgabe waren ein Drucker, ein Kurvenplotter und eine Glocke geplant. Die Maschine sollte außerdem Zahlen in Lochkarten oder wahlweise Metallplatten stanzen können. Sie benutzte dezimale Fließkommaarithmetik und es war Speicher für 1000 Wörter zu 50 Dezimalstellen vorgesehen (Entspricht etwa 20,7kB). Die Recheneinheit („Mühle“ genannt) sollte in der Lage sein, die vier Grundrechenarten durchzuführen.
Die vorgesehene Programmiersprache war ähnlich den heute verwendeten Assemblersprachen. Schleifen und bedingte Verzweigungen waren möglich; es handelte sich damit um die erste Turing-vollständige Programmiersprache. Drei verschiedene Arten von Lochkarten wurden benutzt: eine für arithmetische Operationen, eine für numerische Konstanten und eine für Lade- und Speicheroperationen, um Zahlen aus dem Speicher in die Recheneinheit und wieder zurück zu transferieren. Es gab wahrscheinlich drei separate Lochkartenleser für die drei Kartenarten.
1842 schrieb der italienische Mathematiker Menabrea, der den reisenden Babbage in Italien getroffen hatte, eine Beschreibung der Analytical Engine auf französisch, die von Lady Ada Augusta, Countess of Lovelace ins Englische übersetzt und (nach einer Anfrage von Babbage, warum sie denn nicht eine eigene Abhandlung verfasst hätte) ausführlich kommentiert wurde. Ihr Interesse für die Engine war bereits zehn Jahre früher geweckt worden. Ihre Anmerkungen zu Menabreas Beschreibung haben ihr später den Titel „erste Programmiererin“ eingebracht.
1878 empfahl ein Komitee der British Association for the Advancement of Science, die Analytical Engine nicht zu bauen.
1910 berichtete Babbages Sohn, Henry P. Babbage, dass ein Teil der Recheneinheit und der Drucker gebaut und dazu benutzt worden wären, eine (fehlerhafte) Liste von Vielfachen von pi auszurechnen. Dies war nur ein kleiner Teil der ganzen Engine, nicht programmierbar und ohne Speicher.
Danach geriet die Maschine in Vergessenheit. Die Pläne für ihren Aufbau gelten jedoch als funktionsfähig, und erst um 1960 realisierten Computer die von Babbage geplante Rechengenauigkeit (50 Dezimalstellen sind ca. 166 Bit bzw. 20 Byte). Howard Hathaway Aiken, der 1943–44 die elektrische Rechenmaschine Mark I baute, wurde durch ihren Aufbau beeinflusst. Der erste Turing-vollständige Rechner, der tatsächlich gebaut wurde und funktionierte, war die Zuse Z3 (1941).
Aus Babbages Autobiografie: