"Бывает нечто, о чём говорят: "смотри, вот это новое"; но это было уже в веках, бывших прежде нас"
Екклезиаст гл.1 ст. 10

пятница, 27 января 2012 г.

ПАРОВОЙ ЦИФРОВОЙ КОМПЬЮТЕР И ЕГО ПЕРВЫЙ ПРОГРАММИСТ


I. ПЕРВЫЙ ПРОГРАММИРУЕМЫЙ КОМПЬЮТЕР


В 1835 году Чарлз Бэббидж (Charles Babbage; 1791-1871) описал свою «Аналитическую машину» (Analytical Engine). По формулировкам сегодняшнего дня это был проект цифрового компьютера общего назначения, с применением перфокарт в качестве носителя входных данных и программ, работающий от парового двигателя. Математические операции выполнялись с помощью шестерней. На выходе машина должна была иметь устройство, отображающее результат вычислений. В единую логическую схему Бэббидж увязал арифметическое устройство (названное им «мельницей»), регистры памяти, объединенные в единое целое («склад» или «хранилище»), и устройство ввода/вывода, реализованное с помощью перфокарт трёх типов. Перфокарты операций переключали машину между режимами сложения, вычитания, деления и умножения. Перфокарты переменных управляли передачей информации со «склада» на «мельницу» и обратно. Числовые перфокарты могли быть использованы как для ввода данных в машину, так и для сохранения результатов вычислений, если место на «складе» было ограничено. В силу разных причин Бэббиджу не удалось реализовать своё изобретение на практике.
Структура слева, расположенная вокруг больших круглых колес, представляет собой «мельницу» (ЦП), а «склад» (Память) выходит за пределы листа справа. Музей науки, Лондон (Science Museum, London)

В 1864 году он писал: «Пройдет, вероятно, полстолетия, прежде чем люди убедятся, что без тех средств, которые я оставляю после себя, нельзя будет обойтись».

Почти через восемьдесят лет, в начале сороковых годов прошлого столетия Говард Эйкен (Howard-Aiken; 1900-1973) построил машину «Марк I» (Mark I), которую назвали «осуществленной мечтой Бэббиджа». Его машина идеологически незначительно ушла вперед по сравнению с недостроенной «Аналитической машиной». Производительность «Марк I» была лишь в десять раз выше, чем расчетная скорость работы «Аналитической машины». Бэббидж обогнал свою эпоху почти на 100 лет.

II. ПЕРВЫЙ ПРОГРАММИСТ

Честь носить такое звание имеет Ада Августа Лавлейс (Augusta Ada Byron; Augusta Ada King, Countess of Lovelace; 1815-1852), дочь поэта Байрона. Чарльз Бэббидж был знаком с семьёй юной талантливой девушки и всячески поощрял её тягу к науке. В 1843 Ада перевела статью итальянского математика Луиджи Фредериго Менабреа (Luigi Federico Menabrea), где он обобщил принцип действия аналитической машины. Ада дополнила переведённую статью своими комментариями, примерами практического использования, а также составила «программу» вычисления чисел Бернулли. Ада Августа Лавлейс предвидела, что машины подобные тем, которые разработал Чарльз Бэббидж, в будущем будут иметь огромное прикладное значение, от научных исследованиях до обработки графики и сочинения музыки.

Не следует забывать, что женщинам викторианской эпохи практически невозможно было получить хорошее техническое или математическое образование и путь в науку им был заказан.
Имя Ады Августы Лавлейс было увековечено в названии одного из языков программирования - «Ада».

Использовались материалы:IEEE Computer Society and the Institute of Electrical and Electronics Engineers | Computer Pioneers by J. A. N. Lee