Первый компьютерный баг был буквально насекомым — и запись об этом сохранилась
В экспозиции Национального музея американской истории хранится страница из лабораторного журнала за 9 сентября 1947 года, к которой пожелтевшим скотчем приклеена высохшая моль. Под ней выведена легендарная надпись «First actual case of bug being found», что переводится как «Первый случай в истории, когда был найден настоящий баг». Рассказываем, как обычное насекомое подарило миру термины программирования и почему забавный инцидент стал главным историческим мифом ИТ-индустрии.
Жаркий день в Гарварде
События разворачивались в лаборатории вычислительной техники Гарвардского университета, где работал гигантский электромеханический компьютер Harvard Mark II. Машина весила около 25 тонн, состояла из тысяч реле и километров проводных соединений. Данные и инструкции в неё вводили с помощью перфорированных бумажных лент. Для корректной работы системы металлические контакты должны были замыкаться с идеальной точностью тысячи раз в секунду.
Во второй половине дня 9 сентября машина начала выдавать системные ошибки при выполнении тестов для умножителей и сумматоров. В те времена поиск неисправности требовал долгого осмотра инженерных панелей. Операторы вручную проверяли электрические цепи, чтобы локализовать место разрыва сигнала. Около 15:45 дежурная бригада сняла защитный кожух с панели Panel F и нашла причину сбоя.
Между контактами реле № 70 застряла моль с размахом крыльев около пяти сантиметров. Тем летом в здании не было защитных сеток, и насекомое залетело в открытое окно на свет и тепло работающих ламп. Бабочка физически заблокировала прохождение тока и остановила расчёты. Операторы извлекли её пинцетом и аккуратно вклеили в рабочий дневник.
Лингвистический детектив
Популярная байка гласит, что термин «баг» для обозначения технической ошибки появился именно в этот день, но это заблуждение. На самом деле слово пришло из среднеанглийского языка, где оно обозначало пугало или невидимого злого духа. Ещё в XIX веке инженеры и механики называли «багами» скрытые неполадки, которые создавали впечатление вмешательства потусторонней силы.
Первое упоминание слова в прессе случилось в сентябре 1875 года, когда журнал The Operator написал о «баге» в электрическом указателе отеля. Затем Томас Эдисон закрепил это понятие в письме 1878 года, описав «жуков» как мелкие трудности, требующие месяцев пристального изучения. Термин быстро ушёл в массы: в 1889 году газета Pall Mall Gazette писала, как Эдисон две ночи подряд пытался найти «баг» в механизме фонографа.
Во время Второй мировой войны американские военные инженеры повсеместно применяли это слово для обозначения неполадок в радиолокационном оборудовании. Даже в самом Гарварде физик Роберт Кэмпбелл регулярно делал записи о поиске «багов» в компьютере Mark I ещё в 1944 году. Поэтому в записи 1947 года главным является слово «actual» — «настоящий». Инженеры просто пошутили над тем, что старая метафора впервые материализовалась в виде реального биологического существа.
Почему в СССР отказались от прорывного процессора ради копии американского чипа
Грейс Хоппер и её реальное наследие
Историю про компьютерную моль прочно связывают с именем контр-адмирала ВМС США Грейс Хоппер, которая работала с проектом Harvard Mark II. Однако физически насекомое из реле доставала не она. Анализ почерка показал, что историческую запись в журнале сделал дежурный инженер Билл Бёрк. Сама Хоппер лишь десятилетиями рассказывала эту байку на лекциях, сделав её всемирно известной.
При этом её реальный вклад в развитие информатики намного масштабнее популяризации слова «баг». В начале 1950-х годов Хоппер создала первый в мире компилятор A-0. Она доказала возможность написания программ с использованием понятных английских слов вместо численных бинарных кодов, реализовав язык FLOW-MATIC.
Эти прорывные идеи заложили прочный фундамент для разработки языка COBOL. Он стал главным стандартом для государственных и банковских вычислительных систем на многие десятилетия. А философский подход Хоппер к проектам — «Просить прощения проще, чем получать разрешение» — до сих пор остаётся важнейшей частью корпоративной культуры ИТ-компаний.
Эволюция «бага»
По мере смены технологических укладов менялась и природа компьютерных ошибок. Трансформация дефектов привела к выделению тестирования программного обеспечения в отдельную инженерную дисциплину.
- В 1940-х и 1950-х годах баги были исключительно физическими проблемами. Это могли быть засорения контактов, проба вакуумных ламп или обрыв проводов. Для ремонта инженеры брали осциллограф, физически прозванивали цепи и механически меняли детали.
- В 1960–1980-х годах вычислительная техника перешла на транзисторы и интегральные схемы. Понятие «баг» сместилось в область логических ошибок кода, синтаксического брака и утечек памяти. В 1979 году исследователь Гленфорд Майерс выпустил книгу «Искусство тестирования программного обеспечения», где чётко разделил процессы. Тестирование стало поиском ошибок, а дебаггинг — двухстадийным процессом локализации и исправления кода.
- С развитием интернета возникли финансовые механизмы стимулирования поиска уязвимостей. В 1983 году компания Hunter & Ready первой предложила автомобиль Volkswagen Beetle (неофициально — «Жук») любому, кто найдёт ошибку в их операционной системе. В 1995 году компания Netscape формализовала эту практику, объявив денежные выплаты за найденные баги в браузере Netscape Navigator 2.0.
- В XXI веке понятие «баг» вышло за рамки локальных сбоев и стало ключевой категорией кибербезопасности. Сегодня специалисты борются со сложными архитектурными уязвимостями нулевого дня и галлюцинациями нейросетей, что требует разработки принципиально новых методов отладки.
Памятник инженерному юмору
Музейная страница 1947 года с засохшей молью остаётся важным символом нашей цифровой эпохи. Она фиксирует исторический момент формирования культуры разработчиков, в которой строгая математика уживается с инженерной иронией.
Современные компьютеры давно избавились от огромных механических реле, а написание программ превратилось в проектирование нейросетевых архитектур. Но суть процесса отладки осталась прежней: поиск скрытых причин сбоя является главной задачей инженеров. Пример с молью в Гарварде напоминает: какими бы сложными ни становились технологии, на базовом уровне они продолжают подчиняться законам физического мира.