«Однажды в середине 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 году.
Читать дальше
Конец ознакомительного отрывка
Купить книгу