Предыстория: первые вычислительные машины
Первой задачей, созревшей для автоматизации, стали математические вычисления. Собственно, эта волна автоматизации началась еще в XVII веке с механических арифмометров Шиккарда, Паскаля и Лейбница. Алгоритмы арифметического счета были известны издавна, и их автоматизация просто ждала своего часа.
Вычисления играли особенно большую роль в мореплавании для определения координат судов. С развитием мировой торговли после выхода в XV веке из Средиземного моря на просторы Мирового океана, в том числе в неизвестное доселе Южное полушарие, эта задача встала особенно остро. Отсюда и интерес к астрономическим наблюдениям, практическая польза которых состояла в составлении таблиц эфемерид – положений небесных тел на небе в определенные моменты времени, чтобы можно было ориентироваться не только по звездам, но и по планетам. Эта практическая потребность вызвала к жизни и революцию Коперника, и механику Ньютона.
Определение долготы требовало точного измерения времени, и часовая индустрия стимулировала развитие точной механики. В арифмометрах же применяли ту же «арифметическую логику», что и в часах, используя шестерни с десятью зубцами, полный оборот которых переводил шестерню следующего разряда на один зубец. Первый арифмометр Шиккарда так и называли: «Считающие часы».
Апофеозом механических калькуляторов стала героическая попытка создания в XIX веке универсальной вычислительной машины английским изобретателем Чарльзом Бэббиджем. Описанием его аналитической машины, в частности способов ее программирования, занималась дочь лорда Байрона леди Ада Лавлейс, которую можно считать первым программистом в истории. Проект Бэббиджа был задуман как вычислительный комплекс со своим печатным устройством и предназначался для вычисления и печати навигационных таблиц. Проект финансировался британским адмиралтейством, но так и не был закончен по множеству объективных и субъективных причин. По-видимому, он просто обогнал свое время.
Немногим позже, в конце XIX века, русский математик П. Л. Чебышев создал практичный механический арифмометр, самостоятельно выполняющий все арифметические операции после установки задания. Требовалось только вращать механическую ручку, которая позднее была заменена электромотором.
Такие электрические арифмометры широко применялись в первой половине XX века вплоть до появления электронных вычислительных машин. В частности, оба атомных проекта, американский и советский, были первоначально просчитаны на таких электрических арифмометрах. А для расчета «изделий» требовалось очень много вычислений – численное решение сложных дифференциальных уравнений. По воспоминаниям очевидцев, вычислительные центры в то время представляли собой длинные ряды вычислителей (computers) – вооруженных арифмометрами женщин, вычисляющих каждая свою операцию и передающих результат следующему звену этого математического конвейера. Поскольку числа набирались на арифмометрах вручную, во избежание ошибок вычисления дублировались на двух параллельных конвейерах, и ответ принимался только в случае совпадения их результатов.