Навеяно комментарием к заметке об уязвимости в Gears.

Если открыть словарь хакера (да-да, тот самый книжный вариант перевода файла jargon.txt), то мы узнаем, что глюк – это ошибка в программе, а баг, в свою очередь, – "повторящийся глюк".

Так кто такие баги и откуда вообще взялось это слово в компьютерной терминологии. Не секрет, что раньше компьютеры не имели жестких дисков для хранения данных. Они даже не имели приводов для гибких магнитных дисков (дискет). Устройства для записи и чтения магнитных лент (стриммеры) тоже появились значительно позже, чем появился термин Баг. Программы и данные к этим программам хранились на картонных карточках (перфокартах), в которых в соответствующих местах пробивались дырки для обозначения нулей и единиц (биты).

Не, не думайте, программисты обычно сами не "компостировали" перфокарту. Это делали специально обученные "девочки". Программисты заполняли специальные заявки, в которых указывали команды программы, а "девочки-компиляторы" по особым "шпаргалкам" пробивали карту. При этом на обратной стороне карточки обычно писалось, что это за программа и какой-нибудь идентификатор самой карточки.

В одном институте шло тестирование очередной программы, но программа постоянно выдавала ошибочный результат. Проверили все перфокарты – все правильно. Запустили – ошибка. Перепечатали перфокарты – ведь иногда бывает, что дырка немного "съезжает" и компьютер ее неправильно интерпретирует. Запустили – опять ошибка. И тут одному умному человеку пришло в голову разобрать компьютер. И в одном из приемных устройств для перфокарт обнаружили жука, который не давал правильно считать карточку. Жука, естественно, удалили.

С тех пор повторяющиеся глюки в программах называют Багами (от английского слова Bug – жук), а процесс отладки называется Debug, т.е процесс удаления жука. Можно сказать, что первым дебагером (отладчиком) был пылесос. Вот так.

Кстати, можете почитать статейку про историю первых ноутбуков. С картинками.

Постовой:

Google slashdot YahooMyWeb Digg Technorati Delicious Забобрить эту страницу! Добавить на Newsland.ru Добавить на СМИ2 Добавить на RUmarkz Добавить на Ваау! Добавить на rucity.com Добавить в закладки МоёМесто.ru
Link:

Эта статья была опубликована в в воскресенье, января 4, 2009 at 1:17 pm в рубрике История, Программы. Вы можете отслеживать ответы на нее через RSS 2.0. Вы можете оставить отзыв, или trackback из вашего сайта.


6 комментариев to “Откуда берутся баги?”

  1. Кролик Роджер on января 9, 2009 at 7:30 pm

    Красивая история, но действительности не соответствует. Термин bug использовался еще во время второй мировой войны,
    в то время багом называли проблемы с электроникой радаров.

  2. admin on января 12, 2009 at 2:25 pm

    Действительности история соответствует. Речь идет о возникновении термина для определения устойчивой ошибки в программной части вычислительного комплекса.
    Если придерживаться вашей логики, то можно начать, например, с Колорадских жуков ;)
    Кстати, очень занятное дополнение. Не знал.

  3. Алиен on января 15, 2009 at 7:39 pm

    Я читал эту историю в другом варианте – там фигурировали принтер и мотылек.
    Сотрудница, нашедшая неисправность (эх, забыл фамилию) впоследствии стала известна как одна из создательниц языка “Ада”.
    Не могу настаивать на этой версии безоговорочно, но помню, что читал ее в бумажной (!) книге.
    Еще тогда, когда читал напечатанное на бумаге. ;-)

  4. admin on января 20, 2009 at 7:40 pm

    Ошибочка, сама Ада (забыл фамилию), придумавшая алгоритм имеет посредственное отношение к языку. Его просто назвали в ее честь.

  5. Energen on января 29, 2009 at 7:47 am

    Лавлейс

  6. Dante on января 30, 2009 at 11:01 am

    Прикольная история… Надо будет посоветовать другу разобрать комп, и поискать там жука, если у него баги будут ;). Кстати, первым дебагером наверно всетаки была мухобойка

Оставить отзыв