что означает слово баг
Значение слова «баг»
Термин «баг» обычно употребляется в отношении ошибок, проявляющих себя на стадии работы программы, в отличие, например, от ошибок проектирования или синтаксических ошибок. Отчет, содержащий информацию о баге также называют отчетом об ошибке или отчетом о проблеме (англ. bug report). Отчет о критической проблеме (англ. crash), вызывающей аварийное завершение программы, называют крэш-репортом (англ. crash report).
«Баги» локализуются и устраняются в процессе тестирования и отладки программы.
1. комп. жарг. ошибка в компьютерной программе ◆ В программе найден баг. ◆ Это не баг, это фича
2. комп. жарг. запись в багтрекере ◆ Пометил баг 419594 как WONTFIX. Если у кого есть какие-нибудь возражения/предложения, то рекомендую писать на странице обсуждения бага… «Форум Mozilla Россия», 2008 г.
Баг I
1. мужское имя ◆ Моего друга зовут Баг.
Делаем Карту слов лучше вместе
Привет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать Карту слов. Я отлично умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!
Спасибо! Я стал чуточку лучше понимать мир эмоций.
Вопрос: адмиральша — это что-то нейтральное, положительное или отрицательное?
Мельница мифов: откуда взялись буки и баги?
Весьма распространенным заблуждением считается история о том, что будто бы слово «баг» в значении «ошибка компьютерной программы» появилась в 40-х годах прошлого столетия после того, как бабочка, попав в механизм одного из первых компьютеров, вызвала сбой в его работе. Но это не так — данное слово в подобном значении использовалось еще в XIX веке.
Что означает слово «баг»?
Не знаю, как у вас, а лично у меня всегда возникал вопрос — какая ассоциативная связь между насекомым и программной ошибкой? Я задавал его многим моим друзьям, которые занимались программированием, и практически все они рассказывали мне такую историю. Оказывается, один раз насекомое действительно устроило сбой работы компьютера. Впрочем, давайте обо всем по порядку.
Давным давно, 9 сентября 1945 года ученых Гарвардского университета вызвали для того, чтобы определить причину сбоя в работе вычислительной машины Mark II Aiken Relay Calculator, который произошел накануне. Покопавшись в этой громадной куче приборов, соединенных проводами, они обнаружили бабочку, застрявшую между контактами электромеханического реле. Стало ясно, что именно она и явилась причиной сбоя. Одна из сотрудниц университета Грейс Хоппер так сформулировала результат исследований: «неполадку вызвал баг». После чего извлеченное насекомое было вклеено скотчем в технический дневник, с соответствующей сопроводительной надписью. Которую, по словам моих знакомых, до сих пор можно увидеть в этом журнале, хранящемся в университетском научном музее.
Я думаю, эту историю слышали многие и даже посчитали ее правдивой. Но на самом деле все было не совсем так, как описывается в канонической версии.
Из чего следует то, что о существовании «мерзкого жука», устраивающего помехи, техники и ученые знали и раньше, просто никак не могли его найти. Но тогда получается, что слово «баг» в значении «ошибка, сбой» появилось на свет не в 1947 году?
Баги во второй мировой войне
Действительно, это так. Если посмотреть документы, относящиеся к периоду Второй мировой войны, то вы найдете использование этого слова в соответствующем значении чуть ли не в каждом втором отчете американских и английских радистов. Тогда «багами» называли самые разные помехи, возникающие при радиосвязи
Так что фраза о том, что «связь установить не удалось из-за багов на данной частоте» была вполне обычной.
Кто первым употребил слово «баг» в нынешнем значении слова?
Однако, как выяснилось, на самом деле данный термин куда старше XX столетия. Его можно встретить, например, в дневниках Томаса Эдисона. Так, в 1878 году он писал о том, что:
«Это повторялось снова и снова со всеми моими изобретениями. Первым шагом была интуиция, за ней следовала вспышка, затем возникали препятствия — и они исчезали, потом возникали Баги — так называются маленькие недочеты и трудности — и необходимы месяцы постоянного поиска, исследований и тяжелого труда до успеха или неудачи».
А в 1889 году во многих газетах появились сообщения о трудностях, которые испытывал Эдисон, тестируя свой новый фонограф. По словам самого изобретателя, он: «не спал две ночи подряд, пытаясь обнаружить баг». Далее в тексте говорилось о том, что этим багом было постоянное шуршание, возникающее через некоторое время после включения прибора. Любопытно, что именно тогда данный термин впервые попал в Оксфордский словарь английского языка, причем в качестве примера употребления приводилась та самая выдержка из газетной статьи. А в 1943 году это значение слова «баг» было приведено в словаре Вебстера, и опять-таки со ссылкой на Эдисона.
Впрочем, вряд ли данный смысл в слово «баг» вложил сам изобретатель. Согласно другим свидетельствам, его в то время вовсю использовали служащие различных телеграфных компаний. Поэтому точно сказать, когда же оно было введено в оборот, и кто конкретно это сделал, увы, не представляется возможным. Впрочем, не исключено, что таковых «новаторов» было несколько.
Почему насекомое стало «багом» или помехой?
Но почему же в качестве термина, обозначающего помеху, было приведено именно слово, обозначающее насекомого? Какая связь между нашими шестиногими соседями и ошибками в работе оборудования? Может быть, они, подобно гарвардской бабочке, влезали в приборы и ломали их? Не исключено, что где-то так и было, но в таком случае этот термин не был бы впервые распространен телеграфистами — ведь работе их устройств никакие реальные жуки помешать не могут.
Есть также версия, что данное слово было использовано потому, что первыми багами были звуки, напоминающие скрип и шорох, какой легко могут производить насекомые. Однако вряд ли дело в этом —
могут не только они. За что же им выпала «особенная честь»? Скорее всего, реальные насекомые здесь вообще не причем.
Слово «баг» произошло от детского страшилища
Просто в староанглийском языке у слова «баг» было еще одно значение, которое сейчас мало кто помнит.
Этим словом обозначалась некая категория сверхъестественных существ (фэйри), которые, в отличие от милых фей и дружелюбных эльфов, не очень-то жаловала людей. А если быть совсем точными, детей. Согласно легендам, баг — «детское» страшилище, которым иногда даже в наше время англичанки и американки пугают своих непослушных отпрысков (не исключено, что русское народное страшилище «бука», которую время от времени призывают на помощь наши мамы и бабушки, является лингвистической сестрой этих монстров). Внешний облик багов может быть различным.
Несмотря на свой угрожающий облик, особого вреда они детям не приносят. Баги совсем не агрессивны, и, кроме того, у них нет ни острых зубов, ни длинных когтей. Они лишь могут напугать ребенка, — например, скорчив страшную уродливую рожу, растопырив лапы и подняв шерсть на загривке. Или устроив шум, писк и шорох в темном углу, мешая сорванцу заснуть. То есть можно с уверенностью сказать, что багам свойственно создавать помехи посредством шороха, скрипа и писка.
Судя по всему, и телеграфисты, и Эдисон, и многие другие, вводя в оборот новый термин, имели в виду именно этих сказочных багов. Поскольку все они когда-то были детьми и слышали про них от своих мам, бабушек и нянь. Так что, скорее всего, именно таким образом детская страшилка переквалифицировалась в электронную помеху. А позже — и в ошибку в программы…
Добавьте «Правду.Ру» в свои источники в Яндекс.Новости или News.Google, либо Яндекс.Дзен
Быстрые новости в Telegram-канале Правды.Ру. Не забудьте подписаться, чтоб быть в курсе событий.
Типы багов: этимология и энтомология
1. Немного этимологии и энтомологии
Давайте посмотрим попристальней на такое знакомое и (до боли?) родное слово БАГ. Происходит оно от английского слова Bug, означающего «насекомое». Есть еще много сторонних значений, в частности английское выражение «to go bugs» — сойти с ума, что легко кореллируется со вполне русским «тараканы в голове завелись». Также вспоминаются и «жучки на линии» (тоже, кстати, по-английски – bugs). И опять мы пришли к насекомым.
Еще в 1878 году, Томас Альва Эдисон (да-да, тот самый!) в письмах к своему соратнику Пускасу писал: «It has been just so in all of my inventions. The first step is an intuition, and comes with a burst, then difficulties arise — this thing gives out and [it is] then that ‘Bugs’ — as such little faults and difficulties are called — show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached». Тем же словом, инженеры называли и сбои радарной электроники во время второй Мировой Войны. Конечно, более распространена история о том, что в 1946 году разработка компьютера Марк-2 (Mark-II) были приостановлена из-за сбоя его функционирования, вызванного попаданием мотылька между контактов. Трупик мотылька был извлечен и приклеен к отчету липкой лентой с комментарием «First actual case of bug being found.» («Первый реальный случай нахождения жучка»). Как нетрудно догадаться, примерно оттуда же «растут уши» и слова «дебаггер» (debugger) – буквально «избавитель от жучков».
2. Виды багов.
Простейший (не как инфузория-туфелька, а самый простой для понимания, модно сказать «классический») баг – это несоответствие между ожидаемым результатом (ОР) и фактическим результатом (ФР). Разберем это на примере:
Действия | Ожидаемый результат | Фактический результат |
---|---|---|
Ввести в ячейку выражение «=2+2*2» (без кавычек) и нажать ENTER | 6 | 8 БАГ. |
(это, кстати, реальный баг старого Microsoft Excel – он не учитывал приоритета математических операций, по которому умножение имеет высший приоритет по сравнению со сложением)
Все просто. Ждем одно – получаем другое. Баг.
Я не буду перечислять все подвиды бага классического – от опечаток в данных и опечаток в коде до бесконечных циклов, от использования оператора присвоения вместо оператора проверки равенства до использования неинициализированной переменной, от состояния гонки (race condition) в мультипоточных приложения до переполнения буфера, и так далее, и тому подобное – все это достаточно обыденные и ясные явления. Обратимся к малознакомой экзотике.
2.1. Гейзенбаг (Heisenbug)
Баг, названный в честь Гейзенбергского Принципа неопределенности – концепции квантовой физики. Простым (хоть слово «просто» здесь и не очень применимо) примером подобного бага будет являться ошибка, проявляющаяся, когда программа запускается на исполнение в рабочей среде, но исчезающая, когда программу запускают в дебаггере.
2.2. Борбаг (Bohrbug)
Тип бага, названный так в честь атомной модели Бора. В противоположность Гейзенбагу, он проявляется постоянно при одном и том же стечении обстоятельств. Вопрос в том, что весь набор обстоятельств бывет невозможно (или очень трудно) отследить.
2.3. Мандельбаг (Mandelbug)
Назван в честь Бенуа Мандельброта, внесшего огромный вклад в теорию фракталов. Мандельбагами называют ошибки, чьи причины настолько сложны и неясны, что фактически кажутся хаотичными и не поддающимися описаниями. (ключевое слово «кажутся»). Подобное, может быть вызвано, например, медленной реакцией системы – то есть ошибка уже произошла, но об этом вы узнаете только через некоторое время, что сильно затруднит локализацию причин.
2.4. Шрединбаг (Schroedinbug)
Шрединбаг назван в честь известного парадокса с кошкой Шредингера (или эта несчастная животина – кот?). Он заключается в том, что кто-нибудь читает код программы (работающей уже некоторое время) и восклицает «Да этого не может быть! Она просто не может функционировать!», после чего программа прекращает свое функционирование пока данная ошибка не будет исправлена. Будучи, казалось бы, абсолютно фантастической, данная ошибка попадается в реальности – спросите знакомых ветеранов- разработчиков, они подтвердят. Хотя, конечно, последующий анализ, как правило, позволяет отнести ошибку к разделам 2.1, 2.2 или 2.3, это удается не всегда.
2.5. Фазы луны
На самом деле такой ошибки не существует – это популярная отговорка тех, кто не хочет (не имеет желания и/или времени) разбираться в сложных причинах возникновения ошибки. Тем не менее, в истории существует пара примеров, когда ошибки возникали буквально из-за фаз луны. Я не буду приводить здесь эти истории, надеясь, что никому из нас не придется работать со столь сложными устройствами. Тем не менее, в любом случае, хотелось бы предостеречь всех от неосторожных умозаключений и попросить быть более внимательными, настойчивыми и скрупулезными в своей работе.
2.6. Статистический (более известный как количественный) баг
Баг возникающий при произведении программой большого количества каких-либо действий. Примером данной ошибки может служить запуск программы, которая должна равномерно расположить на плоскости некоторое количество точек. Если, например, при большом количестве точек программа не только неправильно располагает их, но и норовит расположить все на одной стороне плоскости (при этом до определенного количества точек работая прекрасно) – вуаля, количественный баг.
2.7. Демонстрационный эффект.
Ну и конечно, известный всем, «эффект первого показа», не раз случавшийся и с вашим покорным слугой. Как только приходит пора показать, например, прекрасно функционировавший на тестовом стенде юнит, обязательно происходит что-то ужасное. Причны, как правило, тривиальны – пропуск «незначительных» тест-кейсов, невнимательность к деталям и неучтенные юз-кейсы. Опять же – будьте внимательней.
На этом я закончу краткий обзор багов, буду рад Вашим замечаниям и предложениям.
Что такое баги и откуда они берутся?
Не секрет, что в компьютерных программах, особенно игровых, порой встречаются разнообразные баги, которые иногда мешают ими пользоваться, а иногда бывают даже полезны.
Но давайте разберемся, что такое баги, почему они возникают и какими бывают.
Слово «баг», как и подавляющее большинство терминов программирования, заимствовано из английского языка, в котором «bug» означает насекомое – клопа, жука и т.д. Считается, что впервые его использовали разработчики одного из первых компьютеров – американского Mark II во второй половине 40-х годов двадцатого столетия. Однако слово «баг» в значении «ошибка, неполадка, сбой» встречается задолго до этого – например, в рабочих дневниках знаменитого изобретателя Т.Эдисона.
В современном сленге программистов слово «баг» используется для обозначения мелких ошибок в компьютерных программах, приводящих к их некорректной работе. Для сложных современных игровых программ наличие багов является неизбежным, особенно в первые месяцы после выпуска игры в продажу.
В дальнейшем разработчики понемногу «вылавливают» и устраняют багги, как вредоносных насекомых, забравшихся в программу – с чем, собственно, и связано использование этого слова.
В игровых программах багами называют различные ошибки, допущенные программистами, из-за которых сюжет игры может развернуться неожиданным образом, а персонаж – получить несвойственные ему черты или способности.
Некоторые из багов мешают игрокам, приводя к гибели персонажей или временной потере их возможностей, другие, наоборот, могут помочь решить игровую задачу нестандартным образом, третьи ни на что особо не влияют, кроме красоты и зрелищности игры.
Процесс избавления от багов достаточно сложен, и одной только проверкой кодов, как правило, нельзя добиться обнаружения всех ошибок. На помощь программистам приходят тестировщики – люди, которые испытывают программы, чтобы обнаружить в них баги и сообщить о каждом из них программистам.
Документ, описывающий баг, называется баг репортом. По сути, каждый геймер, обнаружив баг, может составить баг репорт и отправить его в адрес разработчиков игры.
Для описания багов существует специальная формализованная таблица, которую заполняет тестировщик. Из сообщенных сведений программист должен узнать суть проблемы, найти место, которое нуждается в корректировке, и внести нужные исправления. Разумеется, для обычных пользователей это вряд ли возможно – им достаточно будет просто описать баг своими словами.
Как и в любом другом программном обеспечении, в социальной сети ВКонтакте могут встречаться различные баги, т.е. ошибки программного кода. Они могут приводить к различным неудобствам и помехам – например, искажать изображение на экране, «рассыпать» тексты, превращая их в набор бессмысленных значков и т.д. Некоторые баги предоставляют дополнительные возможности пользователям.
Так, известно, что редактировать свои записи можно только в течение суток после их опубликования. Некий пользователь под ником «Мгновения Грядущего» опубликовал точные «предсказания» событий 2014 года, датированные первым декабря 2013 и снабженные картинками произошедших событий – Олимпиады в Сочи, Крымской Весны и т.д.
Разумеется, этот пользователь ничего не предсказывал, а просто воспользовался багом, позволившим ему исправить дату своих записей на более раннюю.
Английское слово «feature», означающее характерную черту, особенность явления или объекта, достаточно широко используется геймерами. Нередко фичами называют баги, полезные для игрока и обеспечивающие его преимущество. В таких случаях игрок, отвечая на обвинение, что он пользуется багом, возражает, что у него не баг, а фича.
Администрация игровых порталов беспощадно борется с этим явлением: игрок, упорно выдающий выгодный ему баг за фичу, может быть наказан вплоть до бана.
откуда пошло слово «БАГ» (bug)
Дубликаты не найдены
Собственно, первый баг
я думаю все это читали уже =)
Когда вносишь правки сразу на продакшне
Баянометр ругался, но там смысл поста совершенно иной.
Массовый баг-вылетают приложения Android. Решение!
Ошибка программиста
Твит от Rachel True:
Кто-нибудь еще сталкивался с подобной ошибкой в Apple iCloud ранее или в данный момент? Я уже 6 месяцев не могу найти решение и пытаюсь найти хоть какую-нибудь помощь.
Я припоминаю мертвые языки программирования как Кобол(Кобальт в оригинале) и это похоже на ошибку в коде, а не в устройстве.
Ошибка гласит: Сервис iCloud не отвечает. Невозможно установить значение «true» для поля фамилия.
Ответ на пост «Бывает»
Баги в программах, повлиявшие на реальный мир — очень благодатная тема для историй. Из самого интересного, о чём я читал:
1. Собственно упомянутый аппарат лучевой терапии Therac-25, в котором люди хотя и не сгорали, но действительно получали радиационные ожоги и умирали от лучевой болезни. Весь софт был написан одним человеком на редком диалекте ассемблера без единого комментария, и никогда никем не проверялся.
2. Из-за «ошибки 2000 года» в одной клинике произошёл сбой, и перепутались результаты анализов на риск синдрома Дауна у плода. В результате родилось несколько детей с этим синдромом, а несколько здоровых были, наоборот, ошибочно абортированы.
4. Аппарат Deep Impact по исследованию комет почил раньше срока и перестал выходить на связь, потому что переполнился таймер времени (2^32 десятых частей секунды).
Кстати, спутники после аварии построили заново по тем же чертежам — и, хотя на тот момент Arian 5 уже пофиксили, решили на всякий случай не испытывать судьбу ещё раз и запустили с Байконура на ракете Союз-Фрегат.