Перенастройка компьютера с одного вида деятельности на другой не всегда была столь простым делом. Для программирования «монстров», возвестивших своим появлением в 40-50-е годы начало компьютерной эры, требовались не только математические способности, но и в не меньшей степени физическая выносливость.
Среди первых программистов машины «Эниак» (ENIAC, аббревиатура от Electronic Numerical Integrator and Computer электронный цифровой интегратор и вычислитель), созданной в Высшем техническом училище Пенсильванского университета, была математик Кэтлин Макналти.
Машина «Эниак» предназначалась для вычисления баллистических таблиц, в которых остро нуждалась армия США во время второй мировой войны. Такие таблицы давали артиллеристам возможность выбрать надлежащий угол вертикальной наводки орудия при заданном расстоянии до цели и определенном весе снаряда с учетом атмосферных условий и скорости ветра. При использовании электромеханического настольного арифмометра квалифицированный специалист затрачивал на вычисление одной траектории около трех дней, а для каждой комбинации орудия и снаряда требовалось 2-4 тыс. таких расчетов.
Для подготовки «Эниака» к выполнению этих операций приходилось проделывать умопомрачительную процедуру. Машина представляла собой чудовищный конгломерат электронных ламп и соединительных кабелей, которые были смонтированы на 40 панелях, расположенных в форме подковы вдоль стен большой комнаты. Спустя много лет Кэтлин Макналти вспоминала: «Нам приносили целую охапку синек с изображением монтажных схем и заявляли: «Разберитесь, как работает машина, а потом придумайте, как ее запрограммировать».
Кэтлин Макиалти и другие программисты, обслуживавшие «Эниак» (большинство из них были математики женщины), принимались за изучение чертежей, выясняли, как надо переключить сотни кабелей, и придумывали, в какие положения установить примерно 6 тыс. тумблеров и переключателей. В среднем на подготовку машины к вычислению одной таблицы уходило два дня кропотливой ручной работы.
Несмотря на низкую надежность «Эниака» и его непосредственных послевоенных преемников, именно С помощью этих первых машин были заложены основы программирования. Основополагающие конструкции, изобретенные в те годы, составили фундамент для создания сложных систем программного обеспечения, которые существенно изменили жизнь современного человеческого общества.
|