  |
Чарльз Бэббидж (Charles Babbage) (26.12.1791 – 18.10.1871) (английский математик, изобретший первый компьютер)
Обычно Чарльза Бэббиджа (1791-1871) называют английским математиком, изобретшим первый компьютер, а Аду Августу Байрон Кинг, графиню Лавлейс (1815-1852), — первым программистом, чему в немалой степени способствовало появление языка программирования Ада. И хотя оба эти утверждения точны не вполне, из-за многократного тиражирования они превратились почти в обязательный штамп, который на самом деле отдаляет от нас и мифологизирует деятельность этих двух замечательных людей.
Бэббидж обогнал свою эпоху на 100 лет, ему бы жить в первой трети XX века. В 1864 году он писал: «Пройдет, вероятно, полстолетия, прежде чем люди убедятся, что без тех средств, которые я оставляю после себя, нельзя будет обойтись». В своем оптимистическом прогнозе он ошибся на 30 лет. В начале сороковых годов Говард Айкен построил машину Mark I, которую назвали «осуществленной мечтой Бэббиджа». На самом деле Айкен серьезно изучал публикации Бэббиджа и Ады Лавлейс, его машина идеологически незначительно ушла вперед по сравнению с недостроенной Analytical Engine. Производительность Mark I оказалась всего лишь в десять раз выше, чем расчетная скорость работы Analytical Engine.
Строение компьютеров Чтобы избежать большого количества ошибок при составлении логарифмических таблиц Беббедж хотел изобрести метод с помощью которого можно было бы делать вычисления механически исключая “человеческий фактор”. Толчком к новому проекту стали как его личные качества, так и вляние работ Уильяма Шиккарда, Блеза Паскаля и Готфрида Лейбница. Проект Difference Engine получил поддержку со стороны правительства, и в 1822 начались работы, продолжавшиеся вплоть до 1834 года.
Машина Беббеджа считается одним из прародителей современных компьютеров. Хотя машины Беббеджа были сами по себе механическими монстрами, но их внутреннее устройство удивительно похоже на совеременную компьютерную технику. Информация и программируемая память были разделены, операции основывались на инструкциях, блок управления условными переходами и отдельный блок ввода-вывода.
Принтер Беббедж разработал для своей второй разностной машины печатающее устройство – принтер. В нем было несколько примечательных особенностей: он поддерживал печать на рулонах бумаги, различную ширину столбцов и строк, программируемый формат вывода.
Аналитическая машина Неудачная попытка создания машины не остановила Бэббиджа. С середины 30-х годов он начал работать над своим следующим детищем — программируемой машиной Analytical Engine, которая стала делом его жизни и принесла ему посмертную славу.
Для создания компьютера в современном понимании оставалось всего лишь придумать схему с хранимой программой, что и было сделано много лет спустя Эккертом, Мочли и фон Ньюманом.
В ней присутствовали все три классических элемента компьютера: store — хранилище (теперь мы называем его памятью), mill — мельница (арифметическое устройство) и control barrel — управляющий барабан (управляющее устройство). Регистровая память способна была хранить как минимум 100 десятичных чисел по 40 знаков, но теоретически могла быть расширена до 1000 50-разрядных чисел. Мельница состояла из трех основных регистров: два для операндов, а третий для результатов действий, относящихся к умножению. Еще имелась таблица для хранения промежуточных результатов и счетчик числа итераций. Основная программа заносилась на барабан, в дополнение к ней могли быть использованы перфокарты, предложенные в 1805 году французским инженером Жокардом для ткацких машин.
Машина не только выполняла линейные вычисления, в ней были заложены условный и безусловный переходы и циклы. На вход должны были поступать два потока карт, которые Бэббидж назвал операционными картами (operation card) и картами переменных (variable card): первые управляли процессом обработки данных, записанных на вторых. На тех и на других информация записывалась путем пробивки отверстий. Из операционных карт можно было составить библиотеку функций.
Ада Лавлейс – выдающийся математик и одна из немногих, кто полностью понял замысел Беббеджа, перевела замыслы Бэббиджа на математический и технологический языки. Если бы Аналитическая машина была построена, то программа написанная Адой смогла произвести вычисления числовых последовательностей известных как числа Бернулли. Ада считается первым компьютерным программистом, а в 1979 году, современный язык программирования был назван в ее честь – Ада.
Большое влияние на посмертную судьбу машин оказал сын изобретателя генерал Бэббидж. Выйдя в отставку в 1874 году, он несколько лет посвятил изучению имеющегося наследия, в 1880 году начал работу по восстановлению его в «железе», которая продолжалась с переменным успехом до 1896 года. После десятилетнего перерыва она была возобновлена, и появился действующий образец аналитической мащины, способный печатать результаты вычислений.
|