Перейти к содержимому

Фотография

Немного философски о багах и ошибках


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 35

#1 Фрося

Фрося

    Специалист

  • Members
  • PipPipPipPipPip
  • 514 сообщений
  • ФИО:Радилова Елена Игоревна

Отправлено 23 октября 2009 - 07:29

Тема не уверена, что именно для этой ветки....
Так... размышлизм...

В ранешние времена, когда программист писал программу ручкой (шариковой или авторучкой....), а потом относил девочкам, чтоб набили перфокарты... и ждал в очереди, когда перфокарты будут готовы. А потом - сидел и КАЖДУЮ ПЕРФОКАРТУ подписывал вручную. А потом - относил куда-то, и опять ждал- когда получит рулоны бумаги (метрами)... И читал, читал эти рулоны - чтоб найти, что написал неправильно... а потом.. опять по кругу... авторучкой написать, подождать в очереди... и т.д. и т.п....
Ах да... и получить выволочку за перерасход бумаги на листинги.....

Тогда БАГОВ не было. НЕ СУЩЕСТВОВАЛО!!!!! Были - ОШИБКИ. Конкретные ОШИБКИ конкретного исполнителя.....

И процесс проверки программ - был просто процессом проверки.... Безо всяких импортных слов типа ТЕСТ-ДИЗАЙН, БАГТРЕКЕР.....

И при этом - программы благополучно выпускались... И что характерно - в общем качественные....

Сейчас? Сейчас програмист обзавелся массой вещей, откровенно убирающих из процесса создания программ труд ручной (написание на бумаги, например..). Ну а вслед -- ПРОВЕРКА программ мутировала в тестирование.... Тестирование обросло кучей импортных слов.... и всяких инструментов - чтоб убрать ручной труд (писание ручкой .... и печатание на пишущей машинке Методик Проверки ПО...)..

И? Исчезла старая, добрая ошибка... Появился БАГ.

Просто с точки зрения РУССКОГО языка - почувствуйте разницу - "Сделана ошибка"....."В программе есть БАГ".

Только что-то стало мне сегодня казаться... что ОШИБКА она и есть ОШИБКА.... А никакой не БАГ....

А вот большое количество РУЧНЫХ операций + походы к девочкам, чтоб "набили" и "прогнали" у программиста психологически заставляло его самый манусенький кусочек программы долго обдумывать и проигрывать ....что, пожалуй, снижало количество ОШИБОК....
Ну и писание ручкой методик проверки с последующими походами в машбюро(чтоб напечатали) -- улучшало качество проверки ПО...

Вот такие пятничные размышлизмы...

Ах да...

Перенести тему можно в любое место форума...где она больше к месту будет...
  • 0
Почему-то по пятницам особо остро хочется быть блондинкой....

#2 astenix

astenix

    Специалист

  • Members
  • PipPipPipPipPip
  • 906 сообщений
  • ФИО:Лёша Лупан
  • Город:Кишинев


Отправлено 23 октября 2009 - 10:51

Неверно утверждение о том, что багов во времена перфолент не было.
  • 0

Software Testing Glossary - простыми словами о непростых словах.


#3 Фрося

Фрося

    Специалист

  • Members
  • PipPipPipPipPip
  • 514 сообщений
  • ФИО:Радилова Елена Игоревна

Отправлено 23 октября 2009 - 11:28

Неверно утверждение о том, что багов во времена перфолент не было.


Багов? БАГОВ не было.

Были ОШИБКИ. Почувствуйте разницу.....
  • 0
Почему-то по пятницам особо остро хочется быть блондинкой....

#4 Clauster

Clauster

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 23 октября 2009 - 12:31

Багов? БАГОВ не было.

Правда ли, что первый компьютерный баг был реальным насекомым?

(Англ. «bug» имеет несколько значений: «жучок» (в разных смыслах) и «ошибка в программе» (компьютерный сленг).)

И да и нет.

Начнем с «да». В 1947 году стоявшая в большой аудитории (без кондиционера) Гарвардского университета вычислительная машина ВМФ США «Марк-II» была выведена из строя обычным мотыльком, застрявшим между контактами электромеханического реле. Операторы извлекли расплющенное насекомое, вклеили клейкой лентой в технический журнал с сопроводительной записью и лишь после этого перезапустили ЭВМ.

Механическая природа данной машины делала ее особенно уязвимой для вмешательства насекомых. Большинство первых компьютеров, например ENIAC («Электронный числовой интегратор и вычислитель») при университете Пенсильвании, были уже электронными и использовали специальные вакуумные трубки для защиты от мотыльков.

Но действительно ли термин «bug» возник после случая в Гарварде? Ответ: нет. В значении «ошибка» или «сбой» в том или ином механизме слово использовалось еще в XIX веке. «Оксфордский словарь английского языка» цитирует выдержку из газетного сообщения 1889 года, повествующего о том, как Томас Эдисон «не спал две последние ночи, пытаясь отыскать "баг" в своем фонографе». Словарь Вебстера в издании 1943 года также приводит слово «bug» в его современном значении.

Невзирая на то, что говорят нам многочисленные веб-сайты и книги, термин «debugging» (Устранение дефектов (в оборудовании), исправление ошибок, отладка (компьютерной программы) (англ.).) использовали задолго до того, как гарвардский мотылек застопорил ход вещей.

Вполне показательный пример: жизнь имитирует язык — ожившая метафора, в буквальном смысле.

http://lib.rus.ec/b/165955/read
  • 0

#5 Clauster

Clauster

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 23 октября 2009 - 12:48

Вообще, понятно что вы хотите сказать, раньше и трава была зеленее и воздух чище и молодежь культурнее и т.д.
  • 0

#6 Фрося

Фрося

    Специалист

  • Members
  • PipPipPipPipPip
  • 514 сообщений
  • ФИО:Радилова Елена Игоревна

Отправлено 23 октября 2009 - 17:03

Вообще, понятно что вы хотите сказать, раньше и трава была зеленее и воздух чище и молодежь культурнее и т.д.


Несколько не так...

Так или иначе - индустрия ПО существовала и до 199х года - в "перфоленточные/перфокартные" времена. Когда программист много чего делал вручную. И тогда - именно обилие ручного труда заставляла программиста 333 раза проверит все то, что он писал....Программист проверял САМ!
Писал,вычитывая, проигрывал в голове - что будет..
Сейчас - все пишется быстрее.... и 333 раза программист проверять написанное не будет. Сколько раз он сейчас читает текст программы?
Это один момент.
И замена понятия - "ошибка" на поняти "баг". Ошибка- это ясная всем вещь. Всем, в том числе и НЕ программистам. Психологически - совершенно разные фразы: "Я сделал ошибку в программе" и "В моей программе бага выявлена". Этакая отстранненость от результата труда...

Это второй момент.

ИМХО, разумеется....
  • 0
Почему-то по пятницам особо остро хочется быть блондинкой....

#7 Clauster

Clauster

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 23 октября 2009 - 21:50

Вообще, понятно что вы хотите сказать, раньше и трава была зеленее и воздух чище и молодежь культурнее и т.д.


Несколько не так...

Так или иначе - индустрия ПО существовала и до 199х года - в "перфоленточные/перфокартные" времена. Когда программист много чего делал вручную. И тогда - именно обилие ручного труда заставляла программиста 333 раза проверит все то, что он писал....Программист проверял САМ!
Писал,вычитывая, проигрывал в голове - что будет..
Сейчас - все пишется быстрее.... и 333 раза программист проверять написанное не будет. Сколько раз он сейчас читает текст программы?
Это один момент.

Напомню, что перфокарты умерли в начале 80-х. :)
Это ваши программисты не будут проверять, а наши, например, будут :)

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

Это второй момент.

ИМХО, разумеется....

Почему замена? Ошибки в коде, баги в программе. Баги возникают из-за ошибок в коде, вроде все на своих местах. :)
  • 0

#8 Natalya Rukol

Natalya Rukol

    Профессионал

  • Admin
  • PipPipPipPipPipPip
  • 2 001 сообщений
  • Город:Moscow


Отправлено 24 октября 2009 - 10:46

ПО сейчас на порядки сложнее, и ревью кода теоретически не может выявить все ошибки. Вот и вся разница.
  • 0

#9 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 24 октября 2009 - 11:48

ПО сейчас на порядки сложнее, и ревью кода теоретически не может выявить все ошибки. Вот и вся разница.


Можно выкладку рассуждений или мат.доказательство? У меня на уровне ощущений крепнет уверенность, что это как раз единственный вариант выявить все ошибки, но доказать я не готов.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#10 Clauster

Clauster

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 24 октября 2009 - 14:32

ПО сейчас на порядки сложнее, и ревью кода теоретически не может выявить все ошибки. Вот и вся разница.


Можно выкладку рассуждений или мат.доказательство? У меня на уровне ощущений крепнет уверенность, что это как раз единственный вариант выявить все ошибки, но доказать я не готов.

Хм, а зачем выявлять все ошибки?
  • 0

#11 Case

Case

    Основатель

  • Members
  • PipPipPipPipPipPip
  • 7 071 сообщений
  • ФИО:Панкратов Вячеслав
  • Город:Украина, Киев.

Отправлено 24 октября 2009 - 14:51

Для бизнеса и пользователей все ошибки - не надо, конечно. В пром.разработке, нет даже задачи поиска ошибок, это понятно.
Как чисто теоретическая задача вполне интересно: можно или нет.
  • 0
Слава Панкратов
Редактор портала www.it4business.ru

#12 Natalya Rukol

Natalya Rukol

    Профессионал

  • Admin
  • PipPipPipPipPipPip
  • 2 001 сообщений
  • Город:Moscow


Отправлено 25 октября 2009 - 01:33

ПО сейчас на порядки сложнее, и ревью кода теоретически не может выявить все ошибки. Вот и вся разница.


Можно выкладку рассуждений или мат.доказательство? У меня на уровне ощущений крепнет уверенность, что это как раз единственный вариант выявить все ошибки, но доказать я не готов.

Как это доказать математически, даже не представляю :)
Логика рассуждения простая: чем сложнее ПО, тем больше в нём интеграционных ошибок. Чем больше факторов взаимодействия - тем больше данных надо удерживать в голове во время ревью. А человеческие возможности, ИМХО, ограничены. Выполнить сложный юз-кейз значительно тривиальнее, чем учесть взаимодействие десятков модулей и компонентов.
Ну, и мой опыт внедрения код ревью как необходимого этапа перед коммитом кода показывает, что обычно находятся только локальные дефекты.

Когда ты говоришь "единственный вариант" - ты, наверное, имеешь в виду, что без код ревью выявить все дефекты невозможно? Согласна. Но тем не менее в сложных продуктах их нельзя выявить используя ТОЛЬКО ревью для проверки.
  • 0

#13 Фрося

Фрося

    Специалист

  • Members
  • PipPipPipPipPip
  • 514 сообщений
  • ФИО:Радилова Елена Игоревна

Отправлено 26 октября 2009 - 07:49

ПО сейчас на порядки сложнее, и ревью кода теоретически не может выявить все ошибки. Вот и вся разница.


А как оценивать сложность ПО? Что на порядки сложнее?
Я-то работаю в области разработки встроенного ПО. И вот так уверенно сказать - что на порядки сложнее - пожалуй что и не смогу.
Задачи ? Да, появилось масса других... но чтоб на порядки сложней? Вряд ли..
А вот - память, быстродействие процессоров - увеличились. Ну.. а каково это впихивать ПО в сверхограниченные ресурсы...- вот действительно сложность..И источник ошибок...

Про остальное ПО? Не знаю... Ну вот насколько ПО ранешних АСУ сложнее? Именно по набору решаемых задач?
  • 0
Почему-то по пятницам особо остро хочется быть блондинкой....

#14 Фрося

Фрося

    Специалист

  • Members
  • PipPipPipPipPip
  • 514 сообщений
  • ФИО:Радилова Елена Игоревна

Отправлено 26 октября 2009 - 07:57

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

Со всем уважением относясь к профессиональному сленгу....

Но..... Может хоть капельку будем заботится о Русском Языке? Ну... просто потому что - форум-то популярен, молодежь читает...
А этак скоро технические писатели полностью переквалифицируются в переводчики... с айтишного на русский...
ИМХО, разумеется....
  • 0
Почему-то по пятницам особо остро хочется быть блондинкой....

#15 Clauster

Clauster

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 913 сообщений
  • ФИО:Худобородов Валерий
  • Город:Espoo

Отправлено 26 октября 2009 - 08:03

Про остальное ПО? Не знаю... Ну вот насколько ПО ранешних АСУ сложнее? Именно по набору решаемых задач?

Намного.
  • 0

#16 Sapiens

Sapiens

    Новый участник

  • Members
  • Pip
  • 56 сообщений
  • ФИО:Jukeshov Samat
  • Город:Бишкек

Отправлено 26 октября 2009 - 09:26

Фрося
Русский язык и без слова БАГ впитал в себя великое множество других иностранных слов. На мой взгляд этим он и могуч(ИМХО!).
Компьютерный сленг своеобразен, но при этом он сугубо профессиональный и облегчает общение и взаимопонимание.
По поводу ответственности и продумывания решений: все ведь как всегда будет зависеть от контекста работы и сложившейся ситуации... Все это повышение требований по времени и качеству и есть технический прогресс.
  • 0

#17 Vasiliy

Vasiliy

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 959 сообщений
  • ФИО:Касимов Василий
  • Город:Москва

Отправлено 26 октября 2009 - 10:07

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

Со всем уважением относясь к профессиональному сленгу....

Но..... Может хоть капельку будем заботится о Русском Языке? Ну... просто потому что - форум-то популярен, молодежь читает...
А этак скоро технические писатели полностью переквалифицируются в переводчики... с айтишного на русский...
ИМХО, разумеется....


Оффтопик)

Да-да-да!!
А то некоторые тех. писатели даже не утруждают себя переводом уже. Совсем недавно боролся с подобным проявлением - чтобы убрали слово "превью" из пользовательской документации.
  • 0

#18 astenix

astenix

    Специалист

  • Members
  • PipPipPipPipPip
  • 906 сообщений
  • ФИО:Лёша Лупан
  • Город:Кишинев


Отправлено 26 октября 2009 - 11:53

обилие ручного труда заставляла программиста 333 раза проверит все то, что он писал....Программист проверял САМ!
Сейчас - все пишется быстрее.... и 333 раза программист проверять написанное не будет. Сколько раз он сейчас читает текст программы?

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


Фрося, будьте внимательнее. Что вам имхо, то читателям форума тема для растерзания.

То факт, что технологически когда-то программист был вынужден очень внимательно смотреть и рассчитывать то, что он скармливает машине, не означает, что когда-то программисты работали тщательнее. Не слыхали ни разу про то, как кто-нибудь случайно или по злому недоумию выдергивал перфокарту откуда-то из середины колоды? :)

Даже тщательная возня с аппаратурой и алгоритмами не избавляет от вероятности допустить логическую или архитектурную ошибку. Всегда может случиться что-то неучтенное. Что-то из разряда:
- Исключено! Ни один дебил не додумается сделать именно это именно вот таким образом!
- Идите и объясните это техподдержке, у нас уже сотня рекламаций от тех, кто именно до этого и додумался...

Вы правы в том, что в современном "техномире" стоимость ошибки снизилась. Софт можно патчить через интернет, например. А если ошибка на диске, который уже вышел в тираж - это дорого и больно.

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

"Разница между ошибкой (багом) и дефектом (тоже багом)" - на слух видите разницу между багом, дефектом, ошибкой и неисправностью?
  • 0

Software Testing Glossary - простыми словами о непростых словах.


#19 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 27 октября 2009 - 10:49

Это обсуждение замечательно совпало по времени с выступлением Никлауса Вирта на GTAC, запись пока недоступна, но можно посмотреть в сети отзывы, например, вот этот -- http://federico.gala...-is-not-enough/
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#20 astenix

astenix

    Специалист

  • Members
  • PipPipPipPipPip
  • 906 сообщений
  • ФИО:Лёша Лупан
  • Город:Кишинев


Отправлено 28 октября 2009 - 00:13

Это обсуждение замечательно совпало по времени с выступлением Никлауса Вирта на GTAC

где он говорит: What progress has this field actually made? We still struggle with the same problems as 50 years ago: iteration times, debugging, scratching our heads trying to figure out what went wrong.

О том же говорится в конце второго издания "мифомесяца" Брукса - "Тут нет ничего того, о чем я не знаю..."

Как-то один ветеран Formula 1 сказал, что "сегодня в гараже обсуждаются те же вопросы, что и в наше время - какую подвеску ставить, да какую резину..."
  • 0

Software Testing Glossary - простыми словами о непростых словах.



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных