KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Прочая околокомпьтерная литература » Валерий Шилов - Удивительная история информатики и автоматики

Валерий Шилов - Удивительная история информатики и автоматики

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Валерий Шилов, "Удивительная история информатики и автоматики" бесплатно, без регистрации.
Перейти на страницу:

Первые разработчики пришли в вычислительную технику именно из радиоэлектроники, так что слово это было им хорошо знакомо. Поэтому неудивительно, что Джон Моучли, приступив в 1942 году к работе над первым электронным компьютером ENIAC, применил его для описания процесса функционирования своей машины. Однако он еще не имел в виду программу в современном понимании. «Программа» действия ENIAC задавалась путем соединения отдельных устройств компьютера с помощью кабелей, — т. е. процесс программирования заключался во втыкании штекеров с нужные гнезда коммутаторов.



Программирование на ENIAC

Одновременно с Моучли над созданием компьютеров работали еще несколько групп конструкторов, но ввиду секретности они мало знали о работах коллег. Только после окончания Второй мировой войны, в июле 1946 года, в Муровской школе Пенсильванского университета состоялась знаменитая встреча ведущих американских и британских специалистов в новой области техники. В течение месяца они обменивались накопленным опытом и обсуждали пути решения насущных проблем. Разумеется, был затронут и вопрос унификации терминологии. В частности, главный инженер проекта ENIAC Преспер Эккерт, охарактеризовав в своей лекции принципиально новую концепцию компьютерной архитектуры, основанную на хранении программы в памяти, впервые использовал слово программа в современном значении.

При этом интересно, что великий математик Джон фон Нейман, имя которого традиционно связывают с развитием такой архитектуры (фон-неймановская архитектура), крайне редко пользовался этим термином. В своей знаменитой работе 1945 года, давая описание особенностей новой архитектуры, он говорит об инструкциях, стандартных командах (standard orders), операциях и коде (code) — но ни разу о программе. Год спустя в одной из статей словом программа он пользуется наряду со словом код, а еще через год — снова отказывается от него в пользу терминов план (plan) и установка (set-up). Окончательно утвердился новый термин только к 1951 году — именно тогда вступили в эксплуатацию первые компьютеры с хранимой в памяти программой.



Американский математик Джон фон Нейман

В нашей стране в течение столетия после В. И. Даля смысл понятия менялся мало. Например, в Энциклопедическом словаре издания 1955 года программа понимается как «содержание и план какой-либо деятельности (программа концерта, учебная программа, программа политической партии)», о вычислительных машинах речи еще нет, однако к этому времени слово уже использовалось первыми отечественными разработчиками. В датированном декабрем 1951 года Отчете по работе над автоматической цифровой вычислительной машиной (ЭВМ М-1, построенная под руководством И. С. Брука) четко говорится, что «набор инструкций, необходимых для решения задачи, называется программой». книге С. А. Лебедева, Л. Н. Дашевского и Е. А. Шкабары «Малая электронная счетная машина», изданной Академией наук СССР в 1952 году, слово программа также неоднократно используется.

Это значит, что в коллективах отечественных разработчиков вычислительных машин новый термин утвердился даже раньше, чем в США.

Поэтому уже в Малой советской энциклопедии (издана в 1959 году) определение слова дополняется еще одним пунктом: «подробный план действия вычислительных машин, состоящий из определенных последовательных команд (инструкций), по которым машина выполняет весь процесс вычислений». Таким образом, новый термин обрел полноправное гражданство в русском языке.

Легенды о происхождении тех или иных компьютерных терминов многочисленны. Но все рекорды популярности бьет одна из них — речь идет о слове bug, под которым понимают любую ошибку в аппаратуре или программе (отсюда же debugging — отладка). В десятках журнальных и газетных статей, книг, словарей и энциклопедий можно прочитать нечто вроде:

«Однажды в середине 1940-х годов, в работе предка современных компьютеров, релейной вычислительной машины Mark I, которую строили в Гарвардском университете, произошел сбой. Его причиной стал мотылек, который забился в одно из реле. Дежурный инженер извлек мотылька пинцетом, и с тех пор гарвардские ученые, когда в компьютере возникали те или иные неисправности, говорили: «давай поищем жучка (bug)». Постепенно этот термин прижился и получил широкое распространение».

Особый вклад в распространение этой истории внесла выдающийся программист, первая женщина, дослужившаяся до звания адмирала внесла выдающийся программист, первая женщина, дослужившаяся до звания адмирала флота США, Грейс М. Хоппер. Здесь надо заметить, что описанное выше событие действительно имело место и даже было задокументировано. Тот самый мотылек был не только аккуратно вытащен, но и высушен, и вклеен в рабочий журнал. Сегодня этот журнал находится в одном из компьютерных музеев. Известна и точная дата события — 9 сентября 1947 года.

А вот все остальное нуждается в уточнениях. Во-первых, речь идет о компьютере Mark II. А во-вторых, совершенно непонятно, почему мотылек (по-английски moth) был вдруг назван жуком (ведь bug — это даже не просто насекомое, а насекомое кровососущее, в первую очередь клоп). Разумеется, инженер-электрик не обязан быть специалистом в энтомологии, но разницу между бабочкой и клопом он все-таки обычно знает.

Чтобы разобраться, обратимся к той самой записи, которая была сделана в пресловутом в рабочем журнале. Она выглядела так:

«1545 Реле #79 Приборная панель F (мотылек). Первый случай, когда был найден настоящий bug».

Последняя фраза неопровержимо свидетельствует о том, что слово bug к моменту обнаружения злосчастного мотылька уже было в ходу среди инженеров. Более того, обращение к различным источникам — техническим публикациям и словарям, показывает, что оно широко использовалось уже многие десятилетия.

Одним из первых его стал применять великий американский изобретатель Томас А. Эдисон. Так он называл различные неисправности, вызывающие ошибки в работе приборов и устройств, — как небольшие, которые просто требуется устранить, так и более серьезные, причины которых еще только предстоит установить. Вполне допустимо предположить, что многочисленные и неистребимые мелкие неисправности вызывали у инженеров ассоциации со столь же надоедливым и неприятным насекомым — клопом. Известно, что Эдисон пользовался словом bug еще в 1877 году. А спустя двадцать лет оно уже попало в словарь английского языка в значении «неисправность при работе телеграфной или другой электрической аппаратуры».




Грейс Хоппер

Таким образом, смысл приведенной выше записи в рабочем журнале становится вполне понятным. Инженеры, постоянно занятые устранением ошибок в работе оборудовании, называли их клопами (bug). И тут вдруг оказалось, что причиной ошибки в самом деле является насекомое (пусть даже совсем другого вида). Конечно, совпадение показалось забавным, что и было отмечено в рабочем журнале. И если бы не Грейс Хоппер, то вряд ли этот эпизод привлек бы к себе чье-либо внимание.

Вообще говоря, живучесть легенд — факт крайне удивительный. Версию Грейс Хоппер не раз пытались опровергнуть, но, как мы видим, безуспешно. Например, один из создателей ENIAC, Преспер Эккерт, в интервью 1986 года, на вопрос о том, что он думает о происхождении термина bug, ответил: «Я знаю, что думает об этом Грейс Хоппер. Она много раз рассказывала свою сказку. Насколько я знаю, инженеры — и механики, и электрики, называли так проблемы в работе оборудования задолго до того, как Грейс Хоппер услышала о самом существовании таких проблем. Это слово было новостью только для Грейс. Слово давно было в ходу».

Тем не менее путь слова из лексикона инженеров в лексикон компьютерный был отнюдь не простым.

В первом компьютерном словаре, составленном американским Институтом радиоинженеров (IRE) в 1951 году, оно еще отсутствует. Вскоре в одном из журналов впервые появилось слово debug, которое объяснялось как «устранение неисправностей в работе аппаратуры компьютера». Спустя еще три года Г. Хоппер составила и опубликовала словарик, в котором расширила значение понятия debug, включив в него также значение «устранение ошибок в программах». Этот словарик лег в основу нескольких официальных изданий словаря компьютерных терминов, но слова bug ни в одном из них, как и у самой Хоппер, не было. И попало оно в него только в 1962 году.

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*