Туг на сцену выходит другой персонаж, а именно – Ада Августа Лавлейс, дочь Байрона и первая в истории программистка. Рискуя утомить читателя, все же остановлюсь на нескольких штрихах к биографии уникальной леди. Хотя она прожила короткую жизнь, умерев в 1852 году в возрасте 37 лет, эта жизнь сложилась довольно счастливо, не в пример жизни ее матери, вынужденной расстаться со знаменитым, но неудобным мужем, еше когда Аде не исполнилось и месяца. Ада с малолетства привлекала внимание современников нетривиальным сочетанием черт характера – будучи вполне миловидной и женственной, в то же время она поражала своим быстрым математическим умом. Кроме того, в отличие от Бэббиджа, на дух не переносившего никакой лирики. Ада прилично играла на нескольких инструментах и владела несколькими языками. Окружающие поощряли математические занятия Ады, в том числе и ее богатый муж, граф Лавлейс, что само по себе вешь не очень обычная для тех времен.
В 1842 году итальянец Менабреа (впоследствии премьер-министр Италии!) опубликовал описание аналитической машины Бэббиджа на итальянском языке. Сам Бэббидж не был расположен к популяризации своих идей – еще одна черта неутомимого характера, попросту ему было жалко времени. Поэтому он активно приветствовал появление английского перевода работы Менабреа, сделанного Адой Лавлейс, с которой к тому времени уже был прекрасно знаком и проводил некоторые совместные работы. Пожалуй, Ада наиболее глубоко понимала сущность и перспективы идей Бэббиджа и потому последний предложил ей сделать свои комментарии к переводу. Вот эти-то комментарии, явившиеся единственной печатной работой Ады Георгиевны, значительно превысившие как по объему, так и по значению сам оригинал, и вошли в историю как пример первого описания ЦВМ и инструкций по программированию к ней.
^Естественно, здесь не место для подробного разбора этой уникальной работы. Но некоторые моменты заслуживают, чтобы быть упомянутыми. Разбирая возможности аналитической машины в сравнении с разностной, Ала указывает, что нет никаких причин для ограничения операций только действиями над числами: «Она позволяет осуществить полное упривление при выполнении действий над алгебраическими и цифровыми символами», а в другом месте: «Она может выдавать результаты трех видов: символические… численные… и алгебраические в буквенных обозначениях». В примечании В рассматривается ЗУ и предлагается система для символического обозначения данных, содержащихся в памяти: кружок – число, квадратик – символ и так далее (чем не прообраз современного ассемблера?). В примечании D дана программа машинного расчета системы уравнений с двумя неизвестными. Программа дана в виде таблицы и при этом часто используется вполне современная символика, включая термин «рабочая ячейка». В примечании Е рассматривается краеугольное понятие программирования – цикл операций и даже цикл циклов! В процессе знакомства с работой молодой леди (ей тогда было всего 28 лет) приходится себе все время напоминать, что все это было в эпоху Пушкина, графа Монте- Кристо и начала покорения Дикого Запада.
И сам Бэббидж, и Ада прекрасно понимали, ЧТО они изобрели, – это доказывает довольно подробный разбор теоретических возможностей машины, см. цитату в эпиграфе. Это дало основания отцу современной информатики А.Тьюринту, увлекшемуся под конец жизни околофилософскими проблемами, ввести в своей знаменитой брошюре «А может ли машина мыслить?» (1956 г.) целый раздел под названием «Возражения леди Лавлейс». А Бэббидж в 1838 году упоминал о возможности, как бы мы сейчас сказали, моделирования химических процессов на ВМ и даже о «шахматных способностях» вычислительных машин! Даже создание библиотек программ они тогда обсуждали…
Так почему же хотя бы разностная машина так и не была изготовлена Бэббиджем, хотя еше при его жизни было построено несколько действующих экземпляров других конструкторов?
Причин тут много, одна из них – технологическая. Тогда не умели обрабатывать металл с нужной степенью точности с достаточной производительностью – а машина Бэббиджа содержала не одну тысячу только зубчатых колес. Вероятно, и сейчас технологи призадумались бы над возможностью постройки такой машины. А тогда, как уже упоминалось, ему самому пришлось изобретать технологии производства.
Интересно, что. кроме всего прочего, процесс создания его машины привел к заметному прогрессу в области тогдашней металлообработки. В частности, при прямом участии Бэббиджа были созданы поперечно-строгальный, токарно-револьверный станки, калибры, методы изготовления зубчатых колес и даже была высказана идея стандартизации деталей при массовом производстве. На разностной машине оттачивал мастерство выдающийся механик XIX столетия Уинворт.