Механические первоисточники
Первое в мире автоматическое устройство для выполнения операции сложения было создано на базе механических часов. В 1623 году его разработал Вильгельм Шикард, профессор кафедры восточных языков в университете Тьюбингена (Германия). В наши дни рабочая модель устройства была воспроизведена по чертежам и подтвердила свою работоспособность. Сам изобретатель в письмах называл машину «суммирующими часами».
В1642 году французский механик БлезПаскаль(1623-1662) разработал более компактное суммирующее устройство (рис. 2.1), которое стало первым в мире механическим калькулятором, выпускавшимся серийно (главным образом для нужд парижских ростовщиков и менял). В 1673 году немецкий математик и философ Г. В. Лейбниц (1646-1717) создал механический калькулятор, который мог выполнять операции умножения и деления путем многократного повторения операций сложения и вычитания.
Рис. 2.1. Суммирующая машина Паскаля |
На протяжении XVIII века, известного как эпоха Просвещения, появились новые, более совершенные модели, но принцип механического управления вычислительными операциями оставался тем же. Идея программирования вычислительных операций пришла из той же часовой промышленности. Старинные монастырские башенные часы были настроены так, чтобы в заданное время включать механизм, связанный с системой колоколов. Такое программирование было жестким — одна и та же операция выполнялась в одно и то же время. Идея гибкого программирования механических устройств с помощью перфорированной бумажной ленты впервые была реализована в 1804 году в ткацком станке Жаккарда, после чего оставался только один шаг до программного управления вычислительными операциями.
Рис. 2.2. Чарльз Бэббидж |
Этот шаг был сделан выдающимся английским математиком и изобретателем Чарльзом Бэббиджем (1792-1871) в его Аналитической машине, которая, к сожалению, так и не была до конца построена изобретателем при жизни, но была воспроизведена в наши дни по его чертежам, так что сегодня мы вправе говорить об Аналитической машине, как о реально существующем устройстве. Особенностью Аналитической машины стало то, что здесь впервые был реализован принцип разделения информации на команды и данные. Аналитическая машина содержала два крупных узла — «склад» и «мельницу». Данные вводились в механическую память «склада» путем установки блоков шестерен, а потом обрабатывались в «мельнице» с использованием команд, которые водились с перфорированных карт (как в ткацком станке Жаккарда).
Исследователи творчества Чарльза Бэббиджа непременно отмечают особую роль в разработке проекта Аналитической машины графини Огасты Ады Лавлейс (1815-1852), дочери известного поэта лорда Байрона. Именно ей принадлежала идея использования перфорированных карт для программирования вычислительных операций (1843). В частности, в одном из писем она писала: «Аналитическая машина точно так же плетет алгебраические узоры, как ткацкий станок воспроизводит цветы и листья». Леди Аду можно с полным основанием назвать самым первым в мире программистом. Сегодня ее именем назван один из известных языков программирования.