Hammerhall Сколько стоит Войти

Баг: первый настоящий жук

Выпуск 5 · читать минут 5

Слово: баг, bug · где услышишь: везде, где пишут код, — в ревью, в задачах, на занятиях

«Истории слов» — рубрика буткемпа Hammerhall. Наша команда строит учебную платформу и сервисы вокруг неё, а здесь рассказывает, откуда взялись слова, на которых говорит.

Гарвард, 9 сентября 1947 года. Mark II — огромная вычислительная машина на реле — встаёт. Инженеры ищут неисправность и в реле № 70 на панели F находят мотылька, застрявшего между контактами.

Кто-то из команды вынимает его, вклеивает скотчем в журнал машины и делает запись. Она помечена 15:45 — без четверти четыре дня — и заканчивается словами: «First actual case of bug being found» — «первый настоящий случай, когда найден жук». Журнал с мотыльком и сегодня хранится в Смитсоновском музее американской истории.

В той команде работала Грейс Хоппер (Grace Hopper) — математик, одна из первых программистов, потом контр-адмирал флота США. В 1968 году она рассказывала в интервью: «Когда мы отлаживали Mark II, он стоял в другом здании, на окнах не было сеток, работали мы, конечно, ночью — и налетели все жуки на свете. Однажды ночью машина встала, мы пошли искать жука — и нашли настоящего, большого мотылька». И добавила, что мотылёк, насколько она знает, так и лежит в журнале в Гарварде. А журнал в итоге оказался у флота — в музее военно-морского центра — и уже оттуда попал в Смитсоновский.

Почему «настоящий»#

Перечитай запись в журнале. Не «найден жук», а «первый настоящий случай». Смешно это, только если слово «жук» (bug) про неисправность все и так знали. Сама Хоппер начинает рассказ словами «когда мы отлаживали» — по-английски debugging, «выводили жуков». Машину отлаживали ещё до мотылька. Глагол debug словари находят в 1945 году — в британском авиационном журнале, об испытаниях моторов и самолётов.

Гарвардская коллекция научных инструментов уточняет: инженеры-электрики называли «жуками» трудно находимые неисправности в приборах ещё до 1944 года. А команда предыдущей машины, Mark I, перенесла это слово на неожиданные ошибки в программе.

Само слово старше мотылька лет на 70. В марте 1878 года Томас Эдисон (Thomas Edison) писал Уильяму Ортону (William Orton), президенту телеграфной компании Western Union: «Вы отчасти были правы, я нашёл „жука“ в своём аппарате». А в ноябре того же года объяснял компаньону, как рождаются изобретения: сначала догадка, она приходит вспышкой, потом начинаются трудности — показываются «жуки» (bugs), «как называют эти мелкие неисправности и трудности», и нужны месяцы работы, прежде чем станет ясно, успех это или провал.

В 1889 году лондонская газета растолковала метафору: Эдисон две ночи искал «жука» в своём фонографе — так говорят, когда разбираются с трудностью: будто внутрь забралось воображаемое насекомое и устраивает все неприятности. Придумал ли слово сам Эдисон, точно неизвестно: он так говорил и писал, но есть сведения, что у телеграфистов «жук» встречался и чуть раньше.

Ночное пугало#

А откуда само английское bug? Скорее всего, от средневекового bugge — «что-то пугающее, пугало». В английской Библии 1535 года есть строка: «не придётся тебе бояться никаких bugges ночью». В русском Синодальном переводе тот же стих звучит так: «Не убоишься ужасов в ночи». Насекомым — сначала клопом — bug стал только в XVII веке, а от старого пугала в английском остались bugbear — страшилище и bugaboo — бука.

Выходит, у бага длинная дорога: ночной ужас, клоп, неисправность в аппарате Эдисона — и только потом мотылёк в реле.

Правда и легенда#

Легенда звучит так: «Грейс Хоппер нашла первый баг — мотылька — и придумала это слово». Её повторяют даже солидные издания. Правда скромнее и интереснее.

Слово было задолго до Хоппер. Журнал, по мнению музея, скорее всего, не её. Кто вклеил мотылька — источники расходятся. Даже год в старых подписях и статьях стоит другой — 1945. Сама Хоппер вспоминала ночь, хотя запись в журнале сделана днём.

А вот прославила историю действительно она: десятилетиями рассказывала её на лекциях как шутку. И вместе с командой помогла bug и debug прижиться у программистов.

Баги у нас#

У нас слово «баг» звучит каждый день. Код платформы проходит ревью — его читает не только автор, — и у каждой найденной ошибки есть уровень серьёзности.

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

Баг не открыли в 1947 году — тогда его только вклеили в журнал.


Источники

← Все истории слов

Попробовать руками

В кузницах Hammerhall — задачи по Java, которые проверяет сервер: решаешь в своей IDE, отправляешь одной командой, проверка запускает твои тесты и закрытые. Сложность растёт вместе с решённым, первые задачи бесплатны.