Аналитическая машина Бэббиджа: Проект универсального компьютера XIX века
Analytical engine
Аналитическая машина Бэббиджа: первый в истории проект универсального компьютера, предшественник современных ЭВМ. Описание, принципы работы и значение.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Предложенный механический компьютер общего назначения
Proposed mechanical general purpose computer
Аналитическая машина — это предложенный цифровой механический компьютер общего назначения, разработанный английским математиком и пионером в области вычислительной техники Чарльзом Бэббиджем. Она была впервые описана в 1837 году как преемница дифференциальной машины Бэббиджа, которая представляла собой проект более простого механического калькулятора. Аналитическая машина включала в себя арифметико-логическое устройство, управление потоком в виде условных переходов и циклов, а также встроенную память, что сделало её первым проектом компьютера общего назначения, который в современных терминах можно описать как полный по Тьюрингу. Иными словами, структура аналитической машины была по существу такой же, как та, что доминировала в компьютерном дизайне в электронную эпоху. Лишь в 1941 году Конрад Цузе построил первый компьютер общего назначения Z3, более чем через столетие после того, как Бэббидж предложил новаторскую аналитическую машину в 1837 году. В ходе этого проекта Бэббидж осознал возможность гораздо более общей конструкции — аналитической машины. Работа над проектированием аналитической машины началась примерно в 1833 году. Входные данные, состоящие из программ ("формул") и данных, должны были подаваться в машину с помощью перфокарт, метод, который в то время использовался для управления механическими ткацкими станками, такими как жаккардовский ткацкий станок. Для вывода машина должна была иметь принтер, построитель графиков и звонок. Машина также могла бы пробивать числа на карты для последующего считывания. Она использовала обычную десятичную арифметку с фиксированной точкой. Предусматривалось хранилище (то есть память), способное вмещать 1000 чисел по 50 десятичных цифр каждое (около 16,6 кБ). Арифметическое устройство ("мельница") могло выполнять все четыре арифметические операции, а также сравнения и, возможно, извлечение квадратного корня. Первоначально (1838) она задумывалась как дифференциальная машина, изогнутая обратно на себя, в общей сложности круглой компоновке, с длинным хранилищем, выходящим в сторону. Более поздние чертежи (1858) изображают упорядоченную сетчатую компоновку. Как и центральный процессор (ЦП) в современном компьютере, мельница должна была полагаться на свои собственные внутренние процедуры, примерно эквивалентные микрокоду в современных ЦП, которые хранились бы в виде штифтов, вставленных во вращающиеся барабаны, называемые "баррелями", для выполнения некоторых из более сложных инструкций, указанных пользовательской программой. Язык программирования, используемый пользователями, был похож на современные языки ассемблера. Были возможны циклы и условные переходы, поэтому язык, как он был задуман, был бы полным по Тьюрингу, как это было определено позже Аланом Тьюрингом. Использовались три различных типа перфокарт: одна для арифметических операций, одна для числовых констант и одна для операций загрузки и хранения, перемещения чисел из хранилища в арифметическое устройство и обратно. Для трех типов карт было три отдельных считывателя. Бэббидж разработал около двух десятков программ для аналитической машины в период с 1837 по 1840 год, а затем еще одну программу. Эти программы рассматривают полиномы, итеративные формулы, метод Гаусса и числа Бернулли. В 1842 году итальянский математик Луиджи Федерико Менабреа опубликовал описание машины на французском языке, основанное на лекциях Бэббиджа, которые он читал во время своего визита в Турин в 1840 году. В 1843 году описание было переведено на английский язык и обширно прокомментировано Ада Лавлейс, которая заинтересовалась машиной восемь лет назад. В знак признания её дополнений к работе Менабреа, которые включали способ вычисления чисел Бернулли с помощью машины (широко признанный первой полной компьютерной программой), её называют первым программистом.
The analytical engine was a proposed digital mechanical general purpose computer designed by English mathematician and computer pioneer Charles Babbage. It was first described in 1837 as the successor to Babbage's difference engine, which was a design for a simpler mechanical calculator. The analytical engine incorporated an arithmetic logic unit, control flow in the form of conditional branching and loops, and integrated memory, making it the first design for a general purpose computer that could be described in modern terms as Turing complete. In other words, the structure of the analytical engine was essentially the same as that which has dominated computer design in the electronic era. It was not until 1941 that Konrad Zuse built the first general purpose computer, Z3, more than a century after Babbage had proposed the pioneering analytical engine in 1837. During this project, Babbage realised that a much more general design, the analytical engine, was possible. The work on the design of the analytical engine started around 1833. The input, consisting of programs ("formulae") and data, was to be provided to the machine via punched cards, a method being used at the time to direct mechanical looms such as the Jacquard loom. For output, the machine would have a printer, a curve plotter, and a bell. The machine would also be able to punch numbers onto cards to be read in later. It employed ordinary base 10 fixed point arithmetic. There was to be a store (that is, a memory) capable of holding 1,000 numbers of 50 decimal digits each (ca. 16.6 kB). An arithmetic unit (the "mill") would be able to perform all four arithmetic operations, plus comparisons and optionally square roots. Initially (1838) it was conceived as a difference engine curved back upon itself, in a generally circular layout, with the long store exiting off to one side. Later drawings (1858) depict a regularised grid layout. Like the central processing unit (CPU) in a modern computer, the mill would rely upon its own internal procedures, roughly equivalent to microcode in modern CPUs, to be stored in the form of pegs inserted into rotating drums called "barrels", to carry out some of the more complex instructions the user's program might specify. The programming language to be employed by users was akin to modern day assembly languages. Loops and conditional branching were possible, and so the language as conceived would have been Turing complete as later defined by Alan Turing. Three different types of punch cards were used: one for arithmetical operations, one for numerical constants, and one for load and store operations, transferring numbers from the store to the arithmetical unit or back. There were three separate readers for the three types of cards. Babbage developed some two dozen programs for the analytical engine between 1837 and 1840, and one program later. These programs treat polynomials, iterative formulas, Gaussian elimination, and Bernoulli numbers. In 1842, the Italian mathematician Luigi Federico Menabrea published a description of the engine in French, based on lectures Babbage gave when he visited Turin in 1840. In 1843, the description was translated into English and extensively annotated by Ada Lovelace, who had become interested in the engine eight years earlier. In recognition of her additions to Menabrea's paper, which included a way to calculate Bernoulli numbers using the machine (widely considered to be the first complete computer program), she has been described as the first computer programmer.
Строительство
В конце своей жизни Бэббидж искал способы создать упрощенную версию машины и собрал небольшую ее часть до своей смерти в 1871 году. В 1878 году комитет Британской ассоциации содействия развитию науки назвал аналитическую машину «чудом механической изобретательности», но рекомендовал отложить ее строительство. Комитет признал полезность и ценность машины, но не смог оценить стоимость ее постройки и не был уверен, будет ли машина функционировать правильно после завершения строительства. [[Файл:Аналитическая машина (2290032530). jpg|thumb|Аналитическая машина Генри Бэббиджа, построенная в 1910 году. Сын Бэббиджа, Генри Превост Бэббидж, строил часть вычислительного механизма и печатного аппарата. В 1910 году она смогла вычислить (неверный) список кратных числа пи. Это составляло лишь небольшую часть всего двигателя; она не была программируемой и не имела памяти. (На популярных изображениях этого участка иногда ошибочно указывают, что это была вся вычислительная часть или даже весь двигатель.) «Аналитическая двигательная мельница» Генри Бэббиджа выставлена в Музее науки в Лондоне. Генри также предложил построить демонстрационную версию полного двигателя с меньшей емкостью хранения: «возможно, для первой машины хватит десяти (колонок) с пятнадцатью колесами в каждой». Такая версия могла обрабатывать 20 чисел по 25 цифр каждое, и возможности, которые ей можно было бы предоставить для работы с этими числами, все равно могли бы быть впечатляющими. «Это лишь вопрос карт и времени, — писал Генри Бэббидж в 1888 году, — и нет причин, почему (двадцать тысяч) карт не должны использоваться, если это необходимо, в аналитической машине для нужд математика». В октябре 2010 года Джон Грэм Камминг начал кампанию «План 28» по сбору средств посредством «общественной подписки» для обеспечения серьезного исторического и академического изучения планов Бэббиджа, с целью создания и тестирования полностью рабочего виртуального проекта, который, в свою очередь, позволит построить физический аналитический двигатель. По состоянию на май 2016 года фактическое строительство не было предпринято, поскольку последовательное понимание оригинальных чертежей Бэббиджа еще не было получено. В частности, было неясно, сможет ли машина обрабатывать индексированные переменные, необходимые для программы Бернулли Лавлейс. К 2017 году в рамках «Плана 28» было сообщено о создании базы данных всех каталогизированных материалов и завершении первоначального обзора обширных записных книжек Бэббиджа. Многие из оригинальных чертежей Бэббиджа были оцифрованы и находятся в свободном доступе в Интернете.
Late in his life, Babbage sought ways to build a simplified version of the machine, and assembled a small part of it before his death in 1871. In 1878, a committee of the British Association for the Advancement of Science described the analytical engine as "a marvel of mechanical ingenuity", but recommended against constructing it. The committee acknowledged the usefulness and value of the machine, but could not estimate the cost of building it, and were unsure whether the machine would function correctly after being built. [[File:Analytical Engine (2290032530). jpg|thumb|Henry Babbage's analytical engine mill, built in 1910, Babbage's son Henry Prevost Babbage was constructing a part of the mill and the printing apparatus. In 1910, it was able to calculate a (faulty) list of multiples of pi. This constituted only a small part of the whole engine; it was not programmable and had no storage. (Popular images of this section have sometimes been mislabelled, implying that it was the entire mill or even the entire engine.) Henry Babbage's "analytical engine mill" is on display at the Science Museum in London. Henry also proposed building a demonstration version of the full engine, with a smaller storage capacity: "perhaps for a first machine ten (columns) would do, with fifteen wheels in each". Such a version could manipulate 20 numbers of 25 digits each, and what it could be told to do with those numbers could still be impressive. "It is only a question of cards and time", wrote Henry Babbage in 1888, " and there is no reason why (twenty thousand) cards should not be used if necessary, in an analytical engine for the purposes of the mathematician". In October 2010, John Graham Cumming started a "Plan 28" campaign to raise funds by "public subscription" to enable serious historical and academic study of Babbage's plans, with a view to then build and test a fully working virtual design which will then in turn enable construction of the physical analytical engine. As of May 2016, actual construction had not been attempted, since no consistent understanding could yet be obtained from Babbage's original design drawings. In particular it was unclear whether it could handle the indexed variables which were required for Lovelace's Bernoulli program. By 2017, the "Plan 28" effort reported that a searchable database of all catalogued material was available, and an initial review of Babbage's voluminous Scribbling Books had been completed. Many of Babbage's original drawings have been digitised and are publicly available online.
Прогнозируемое влияние
Бэббидж понимал, что создание автоматического компьютера пробудит интерес к области, ныне известной как алгоритмическая эффективность, и писал в своих "Пассажах из жизни философа": "Как только аналитическая машина будет существовать, она неизбежно определит дальнейшее развитие науки. Каждый раз, когда с её помощью требуется получить какой-либо результат, возникнет вопрос: каким путем вычислений машина сможет достичь этих результатов за кратчайшее время?"
Babbage understood that the existence of an automatic computer would kindle interest in the field now known as algorithmic efficiency, writing in his Passages from the Life of a Philosopher, "As soon as an analytical engine exists, it will necessarily guide the future course of the science. Whenever any result is sought by its aid, the question will then arise—By what course of calculation can these results be arrived at by the machine in the shortest time?"
Информатика
С 1872 года Генри усердно продолжал работу, начатую его отцом, а затем, в 1875 году, эпизодически занимался ею уже на пенсии. Перси Лудгейт написал о машине в 1914 году и опубликовал собственный проект аналитической машины в 1909 году. Он был разработан в деталях, но так и не был построен, а чертежи так и не были обнаружены. Машина Лудгейта была бы значительно меньше (примерно , что соответствует кубу со стороной 2 фута (1 м)) по сравнению с машиной Бэббиджа и, теоретически, могла бы умножать два 20-значных числа примерно за шесть секунд. В своей работе «Очерки по автоматике» (1914) Леонардо Торрес Кеведо, вдохновленный Бэббиджем, спроектировал теоретическую электромеханическую вычислительную машину, управляемую программой, предназначенной только для чтения. В этой работе также содержится идея арифметики с плавающей точкой. В 1920 году, в честь 100-летия изобретения арифмометра, Торрес представил в Париже электромеханический арифмометр, состоящий из арифметического устройства, подключенного к (возможно, удаленной) пишущей машинке, на которой можно было вводить команды и автоматически печатать результаты. В статье Ванневара Буша «Инструментальный анализ» (1936) содержалось несколько ссылок на работы Бэббиджа. В том же году он начал проект «Быстрая арифметическая машина» для изучения проблем, связанных с созданием электронного цифрового компьютера. Несмотря на эту подготовительную работу, труды Бэббиджа были забыты историками, а аналитическая машина оставалась неизвестной конструкторам электромеханических и электронных вычислительных машин в 1930-х и 1940-х годах, когда они начинали свою работу, что привело к необходимости повторного изобретения многих архитектурных инноваций, предложенных Бэббиджем. Говард Эйкен, построивший быстро устаревший электромеханический калькулятор Гарвардский Марк I в период с 1937 по 1945 год, вероятно, хвалил работы Бэббиджа, чтобы повысить свой собственный авторитет, но ничего не знал об архитектуре аналитической машины во время строительства Марка I и считал свой визит к построенной части аналитической машины «самым большим разочарованием в моей жизни». Марк I не испытал влияния аналитической машины и лишен наиболее прозорливой архитектурной особенности аналитической машины – условного перехода. Дж. Преспер Эккерт и Джон У. Мокли также не были знакомы с деталями работы Бэббиджа над аналитической машиной до завершения проектирования первого электронного универсального компьютера ENIAC.
From 1872, Henry continued diligently with his father's work and then intermittently in retirement in 1875. Percy Ludgate wrote about the engine in 1914 and published his own design for an analytical engine in 1909. It was drawn up in detail, but never built, and the drawings have never been found. Ludgate's engine would be much smaller (about , which corresponds to cube of side length 2 feet (1 m)) than Babbage's, and hypothetically would be capable of multiplying two 20 decimal digit numbers in about six seconds. In his work Essays on Automatics (1914) Leonardo Torres Quevedo, inspired by Babbage, designed a theoretical electromechanical calculating machine which was to be controlled by a read only program. The paper also contains the idea of floating point arithmetic. In 1920, to celebrate the 100th anniversary of the invention of the arithmometer, Torres presented in Paris the Electromechanical Arithmometer, which consisted of an arithmetic unit connected to a (possibly remote) typewriter, on which commands could be typed and the results printed automatically. Vannevar Bush's paper Instrumental Analysis (1936) included several references to Babbage's work. In the same year he started the Rapid Arithmetical Machine project to investigate the problems of constructing an electronic digital computer. Despite this groundwork, Babbage's work fell into historical obscurity, and the analytical engine was unknown to builders of electromechanical and electronic computing machines in the 1930s and 1940s when they began their work, resulting in the need to re invent many of the architectural innovations Babbage had proposed. Howard Aiken, who built the quickly obsoleted electromechanical calculator, the Harvard Mark I, between 1937 and 1945, praised Babbage's work likely as a way of enhancing his own stature, but knew nothing of the analytical engine's architecture during the construction of the Mark I, and considered his visit to the constructed portion of the analytical engine "the greatest disappointment of my life". The Mark I showed no influence from the analytical engine and lacked the analytical engine's most prescient architectural feature, conditional branching. J. Presper Eckert and John W. Mauchly similarly were not aware of the details of Babbage's analytical engine work prior to the completion of their design for the first electronic general purpose computer, the ENIAC.
Сравнение с другими ранними компьютерами
Если бы аналитическая машина была построена, она была бы цифровой, программируемой и полной по Тьюрингу. Однако она была бы очень медленной. Луиджи Федерико Менабреа в "Наброске аналитической машины" сообщил: "Мистер Бэббидж полагает, что его машина может вычислить произведение двух чисел, каждое из которых содержит двадцать цифр, за три минуты". Для сравнения, Harvard Mark I мог выполнить ту же задачу всего за шесть секунд (хотя оспаривается, является ли этот компьютер полным по Тьюрингу; ENIAC, который является таковым, был бы еще быстрее). Современный процессор может сделать то же самое менее чем за наносекунду.
If the analytical engine had been built, it would have been digital, programmable and Turing complete. It would, however, have been very slow. Luigi Federico Menabrea reported in Sketch of the Analytical Engine: "Mr. Babbage believes he can, by his engine, form the product of two numbers, each containing twenty figures, in three minutes". By comparison the Harvard Mark I could perform the same task in just six seconds (though it's debateble that computer is Turing complete; the ENIAC, which is, would also have been faster). A modern CPU could do the same thing in under a billionth of a second. Name First operational Numeral system Computing mechanism Programming Turing complete Memory Difference engine Not built until the 1990s (design 1820s) Decimal Mechanical Not programmable; initial numerical constants of polynomial differences set physically Physical state of wheels in axes Analytical Engine Not built (design 1830s) Decimal Mechanical Program controlled by punched cards ✔ (design; not built, yet) Physical state of wheels in axes Ludgate's Analytical Engine Not built (design 1909) Decimal Mechanical Program controlled by punched cards ✔ (not built) Physical state of rods Torres' Analytical Machine 1920 Decimal Electro mechanical Not programmable; input and output settings specified by patch cables Mechanical relays Zuse Z1 1939 Binary floating point Mechanical Not programmable; cipher input settings specified by patch cables Physical state of rods Bombe 1939 (Polish), March 1940 (British), May 1943 (US) Character computations Electro mechanical Not programmable; cipher input settings specified by patch cables Physical state of rotors Zuse Z2 1940 Binary fixed point Electro mechanical (mechanical memory) Program controlled by punched 35 film stock (no conditional branch) Physical state of rods Zuse Z3 May 1941 Binary floating point Electro mechanical Program controlled by punched 35 film stock (but no conditional branch) In theory Mechanical relays Atanasoff–Berry Computer 1942 Binary Electronic Not programmable; linear system coefficients input using punched cards Regenerative capacitor memory Colossus Mark 1 December 1943 Binary Electronic Program controlled by patch cables and switches Thermionic valves (vacuum tubes) and thyratrons Harvard Mark I – IBM ASCC May 1944 Decimal Electro mechanical Program controlled by 24 channel punched paper tape (but no conditional branch) Debatable Mechanical relays Colossus Mark 2 1 June 1944 Binary Electronic Program controlled by patch cables and switches Conjectured Zuse Z4 March 1945 (or 1948) Binary floating point Electro mechanical Program controlled by punched 35 film stock In 1950 Mechanical relays ENIAC December 1945 Decimal Electronic Program controlled by patch cables and switches ✔ Vacuum tube triode flip flops Manchester Baby June 1948 Binary Electronic Binary program entered into memory by keyboard (first electronic stored program digital computer) ✔ Williams cathode ray tube EDSAC May 1949 Binary Electronic Five bit opcode and variable length operand (first stored program computer offering computing services to a wide community). ✔ Mercury delay lines
Название | Первая операционная | Числовая система | Вычислительный механизм | Программирование | Полная по Тьюрингу | Память | Дифференциальный двигатель |
---|---|---|---|---|---|---|---|
Не построена до 1990-х (проект 1820-х) | Десятичная | Механическая | Непрограммируемая; первоначальные численные константы полиномиальных разностей заданы физически | - | - | Физическое состояние колес в осях |
Аналитическая машина | Не построена (проект 1830-х) | Десятичная | Механическая | Программа, управляемая перфокартами ✔ (проект; не построена) | Да | Физическое состояние колес в осях |
Аналитическая машина Ludgate | Не построена (проект 1909) | Десятичная | Механическая | Программа, управляемая перфокартами ✔ (не построена) | - | Физическое состояние колес в осях |
Аналитическая машина Торреса | 1920 | Десятичная | Электромеханическая | Непрограммируемая; вход и выход задаются патч-кордами | - | Механические реле |
Zuse Z1 | 1939 | Двоичная с плавающей точкой | Механическая | Непрограммируемая; настройки шифрования задаются патч-кордами | - | Физическое состояние стержней |
Bombe | 1939 (Польша), март 1940 (Великобритания), май 1943 (США) | Символьные вычисления | Электромеханическая | Непрограммируемая; настройки шифрования задаются патч-кордами | - | Физическое состояние роторов |
Zuse Z2 | 1940 | Двоичная с фиксированной точкой | Электромеханическая (механическая память) | Программа, управляемая перфопленкой 35 мм (без условного перехода) | - | Физическое состояние стержней |
Zuse Z3 | май 1941 | Двоичная с плавающей точкой | Электромеханическая | Программа, управляемая перфопленкой 35 мм (без условного перехода) | Да | Механические реле |
Atanasoff–Berry Computer | 1942 | Двоичная | Электронная | Непрограммируемая; коэффициенты линейной системы вводятся с помощью перфокарт | - | Регенеративная емкостная память |
Colossus Mark 1 | декабрь 1943 | Двоичная | Электронная | Программа, управляемая патч-кордами и переключателями | Да | Термионные лампы (вакуумные трубки) и тиратроны |
Harvard Mark I – IBM ASCC | май 1944 | Десятичная | Электромеханическая | Программа, управляемая перфолентой с 24 каналами (без условного перехода) | Оспаривается | Механические реле |
Colossus Mark 2 | 1 июня 1944 | Двоичная | Электронная | Программа, управляемая патч-кордами и переключателями | Предположительно | - |
Zuse Z4 | март 1945 (или 1948) | Двоичная с плавающей точкой | Электромеханическая | Программа, управляемая перфопленкой 35 мм | Да | Механические реле |
ENIAC | декабрь 1945 | Десятичная | Электронная | Программа, управляемая патч-кордами и переключателями ✔ | Да | Вакуумные триодные триггеры |
Manchester Baby | июнь 1948 | Двоичная | Электронная | Двоичная программа вводится в память с клавиатуры (первый цифровой компьютер с хранимой программой) ✔ | Да | Катодная трубка Williams |
EDSAC | май 1949 | Двоичная | Электронная | Пятибитный код операции и переменная длина операнда (первый компьютер с хранимой программой, предоставляющий вычислительные услуги широкому кругу пользователей) ✔ | Да | Ртутные линии задержки |
If the analytical engine had been built, it would have been digital, programmable and Turing complete. It would, however, have been very slow. Luigi Federico Menabrea reported in Sketch of the Analytical Engine: "Mr. Babbage believes he can, by his engine, form the product of two numbers, each containing twenty figures, in three minutes". By comparison the Harvard Mark I could perform the same task in just six seconds (though it's debateble that computer is Turing complete; the ENIAC, which is, would also have been faster). A modern CPU could do the same thing in under a billionth of a second. Name First operational Numeral system Computing mechanism Programming Turing complete Memory Difference engine Not built until the 1990s (design 1820s) Decimal Mechanical Not programmable; initial numerical constants of polynomial differences set physically Physical state of wheels in axes Analytical Engine Not built (design 1830s) Decimal Mechanical Program controlled by punched cards ✔ (design; not built, yet) Physical state of wheels in axes Ludgate's Analytical Engine Not built (design 1909) Decimal Mechanical Program controlled by punched cards ✔ (not built) Physical state of rods Torres' Analytical Machine 1920 Decimal Electro mechanical Not programmable; input and output settings specified by patch cables Mechanical relays Zuse Z1 1939 Binary floating point Mechanical Not programmable; cipher input settings specified by patch cables Physical state of rods Bombe 1939 (Polish), March 1940 (British), May 1943 (US) Character computations Electro mechanical Not programmable; cipher input settings specified by patch cables Physical state of rotors Zuse Z2 1940 Binary fixed point Electro mechanical (mechanical memory) Program controlled by punched 35 film stock (no conditional branch) Physical state of rods Zuse Z3 May 1941 Binary floating point Electro mechanical Program controlled by punched 35 film stock (but no conditional branch) In theory Mechanical relays Atanasoff–Berry Computer 1942 Binary Electronic Not programmable; linear system coefficients input using punched cards Regenerative capacitor memory Colossus Mark 1 December 1943 Binary Electronic Program controlled by patch cables and switches Thermionic valves (vacuum tubes) and thyratrons Harvard Mark I – IBM ASCC May 1944 Decimal Electro mechanical Program controlled by 24 channel punched paper tape (but no conditional branch) Debatable Mechanical relays Colossus Mark 2 1 June 1944 Binary Electronic Program controlled by patch cables and switches Conjectured Zuse Z4 March 1945 (or 1948) Binary floating point Electro mechanical Program controlled by punched 35 film stock In 1950 Mechanical relays ENIAC December 1945 Decimal Electronic Program controlled by patch cables and switches ✔ Vacuum tube triode flip flops Manchester Baby June 1948 Binary Electronic Binary program entered into memory by keyboard (first electronic stored program digital computer) ✔ Williams cathode ray tube EDSAC May 1949 Binary Electronic Five bit opcode and variable length operand (first stored program computer offering computing services to a wide community). ✔ Mercury delay lines
В популярной культуре
Киберпанк-романисты Уильям Гибсон и Брюс Стерлинг совместно написали стимпанк-роман об альтернативной истории под названием «Двигатель различий», в котором дифференциальная и аналитическая машины Бэббиджа стали доступны викторианскому обществу. Роман исследует последствия и влияние раннего внедрения вычислительной техники. Рассказ Джека Нимерсхайма «Мориарти по модему» описывает альтернативную историю, где аналитическая машина Бэббиджа действительно была завершена и засекречена британским правительством. Персонажи Шерлока Холмса и Мориарти на самом деле являлись набором прототипных программ, написанных для аналитической машины. Этот рассказ повествует о том, как программа Холмса реализуется на современных компьютерах, и он вынужден вновь соревноваться со своим заклятым врагом в современных аналогах аналитической машины Бэббиджа. Сидни Падуа использует схожий сеттинг в веб-комиксе «Захватывающие приключения Лавлейс и Бэббиджа». В нем рассказывается об альтернативной истории, где Ада Лавлейс и Бэббидж построили аналитическую машину и используют ее для борьбы с преступностью по просьбе королевы Виктории. Комикс основан на тщательном изучении биографий и переписки Бэббиджа и Лавлейс, которые затем искажаются ради юмористического эффекта. В онлайн-проекте «Рука Ориона» представлены Machina Babbagenseii – полностью разумные механические компьютеры, вдохновленные Бэббиджем. Каждый из них размером с крупный астероид, способен выживать только в условиях микрогравитации и обрабатывает данные со скоростью 0,5% от скорости человеческого мозга. Чарльз Бэббидж и Ада Лавлейс появились в эпизоде сериала «Доктор Кто» – S12 E2 «Spyfall, часть 2», где двигатель можно увидеть и о нем упоминается.
The cyberpunk novelists William Gibson and Bruce Sterling co authored a steampunk novel of alternative history titled The Difference Engine in which Babbage's difference and analytical engines became available to Victorian society. The novel explores the consequences and implications of the early introduction of computational technology. Moriarty by Modem, a short story by Jack Nimersheim, describes an alternative history where Babbage's analytical engine was indeed completed and had been deemed highly classified by the British government. The characters of Sherlock Holmes and Moriarty had in reality been a set of prototype programs written for the analytical engine. This short story follows Holmes as his program is implemented on modern computers and he is forced to compete against his nemesis yet again in the modern counterparts of Babbage's analytical engine. A similar setting is used by Sydney Padua in the webcomic The Thrilling Adventures of Lovelace and Babbage. It features an alternative history where Ada Lovelace and Babbage have built the analytical engine and use it to fight crime at Queen Victoria's request. The comic is based on thorough research on the biographies of and correspondence between Babbage and Lovelace, which is then twisted for humorous effect. The Orion's Arm online project features the Machina Babbagenseii, fully sentient Babbage inspired mechanical computers. Each is the size of a large asteroid, only capable of surviving in microgravity conditions, and processes data at 0.5% the speed of a human brain. Charles Babbage and Ada Lovelace were in an episode of Doctor Who. S12 E2 "Spyfall Part 2". Where the engine can be seen displayed and referenced.