Издать сборник стиховИздать сборник стихов

Mark-1 - воплощение Аналитической Машины

Итак, младший лейтенант Грэйс Хоппер была направлена в Гарвардский университет, где к тому времени был установлен компьютер Mark-1.
В создании Mark-1 приняли участие силы - ВМС США, заказавшие универсальную счетную машину для расчетов баллистических таблиц: фирма IBM, президент которой Томас Уотсон в патриотическом порыве финансировал военную разработку и предоставил производственные мощности для создания необходимых деталей; и математик Говард Эйкен. А в основу Mark-1 было положено оставленное Бэббиджем описание его Аналитической Машины.
Полученное "чудовище" достигало 17 м в длину и 2,5 м в высоту. Провода, которыми соединялись его 750 тыс. деталей имели суммарную длину более 800 км. Программа вводилась с перфоленты, а данные с перфокарт (не зря же, в конце концов, перфораторы составляли львиную долю продукции IBM). Компьютер имел электромеханическое реле и работал по тем временам очень быстро - 0,3 с у него уходило на сложение и вычитание двух чисел и 3 с на умножение.
Учитывая интерес Грэйс к двум смежным областям - геометрии и механике,- она была идеальным кандидатом на работу с компьютерами типа Mark-1, когда любой программист (такого термина тогда еще не существовало, а должность Грэйс называлась словом "кодировщик") одновременно блестяще разбирался в механическом содержимом громоздкой машины. "Интеллектуальным" обслуживанием машины, помимо профессора и младшего лейтенанта Грэйс Хоппер, занимались математики-мичманы Роберт Кэмпбел и Ричард Блок.
Существует легенда, что Грэйс принадлежит термин debugging (для программы - отладка; а буквально - изничтожение насекомых). История такова: однажды Mark-1 сломался из-за того, что в одном из реле покончил жизнь самоубийством крохотный мотылек (bug). Останки бедняги были аккуратно извлечены. Тогда-то якобы Грэйс впервые и употребила термин debugging, имея в виду ту самую работу, которой в данный момент была занята группа программистов, - очистку компьютера от насекомых. На самом деле слово bug в английском языке имело двойное значение (и насекомое, и техническая неисправность) задолго до Грэйс, так что мы имеем дело с очередным апокрифом компьютерного общества.
Но если Аде Лавлейс принадлежит право интеллектуальной собственности на циклы, то Грэйс и ее коллеги в 1944 году использовали эти принципы на практике. С точки зрения Грэйс, под программами были сравнительно универсальные последовательности команд, которые можно было об'единять в более крупные блоки. Свои подпрограммы программисты хранили в блокнотах и при необходимости переписывали их друг у друга. При этом им приходилось каждый раз заново рассчитывать адреса переменных. Учитывая, что текст записывался в кодах, а складывать программисты, как правило, не умеют, можно себе представить, как часто при переписывании возникали ошибки. Да и читать программы, даже снабженные комментариями, оказывалось достаточно сложно.