Исторический момент: как и когда был обнаружен первый в мире компьютерный баг

Багом на программистском жаргоне называется ошибка, из-за которой программа ведет себя неправильно или не работает совсем. Большинство багов возникает из-за ошибок, которые программисты допускают во время написания кода. Также некоторые из них возникают из-за некорректной работы инструментов разработчика, например из-за компилятора, вырабатывающего некорректный код. Однако самым первым багом в истории стала не ошибка в коде, а обычный...мотылек.
Исторический момент: как и когда был обнаружен первый в мире компьютерный баг
Gallo images

Баг — это ошибка в коде. На русский язык слово «bug» переводится как «жучок». И как же иронично получилось, что первым в мире багом оказалось насекомое...буквально

Баг — история названия

В значении «неуловимой технической ошибки» слово «жучок» (в переводе на английский — bug) употреблялось задолго до появления компьютеров. Так персонал телеграфных и телефонных компаний называл неполадки с электрооборудованием и радиотехникой. В 1878 году Томас Эдисон писал:

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ

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

Во время Второй мировой войны словом bugs называли проблемы с радарной электроникой.

Обнаружение первого в истории бага

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

9 сентября 1947 года ученые Гарвардского университета тестировали вычислительную машину Mark II Aiken Relay Calculator. Однако компьютер не работал. В причинах поломки начала разбираться легендарная ученая Грейс Хоппер. Она известна тем, что была одной из первых, кто писал программы для гарвардского компьютера Марк I. Она также разработала первую программу, переводящую текст на языке программирования в набор машинных кодов (компилятор). Кроме того, благодаря ней была развита концепция машинно-независимых языков программирования, что привело к созданию COBOL, одного из первых высокоуровневых языков программирования. Из-за многочисленных достижений и высокого чина во флоте (она была контр-адмиралом младшего ранга) Грейс иногда называют «Удивительная Грейс» («Amazing Grace») и «Бабушка COBOL» («Grandma COBOL»).

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Грейс Хоппер за клавиатурой UNIVAC
Грейс Хоппер за клавиатурой UNIVAC
wikipedia.org

Так вот, Грейс Хоппер разбиралась в причинах неисправности Mark II. Проследив возникшую ошибку в работе программы до электромеханического реле машины, она нашла между замкнувшими контактами сгоревшего мотылька. Извлеченное насекомое было вклеено скотчем в технический журнал с сопроводительной иронической подписью: «Первый реальный случай обнаружения жучка» (англ. First actual case of bug being found).

РЕКЛАМА – ПРОДОЛЖЕНИЕ НИЖЕ
Запись в техническом журнале
Запись в техническом журнале

Так Грейс впервые использовала термин «баг». Ей приписывается популяризация термина debugging для устранения сбоев в работе компьютера.

Журнал с записью в настоящее время находится в Национальном музее американской истории. Но на всеобщее обозрение по неизвестным причинам не выставлен.