OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 19 Июль, 2018 16:33

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 191 ]  На страницу 1, 2, 3, 4, 5 ... 10  След.
Автор Сообщение
 Заголовок сообщения: Отладчик в BlackBox
СообщениеДобавлено: Пятница, 02 Март, 2018 10:33 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 130
Модератор: Тема выделена из viewtopic.php?f=3&t=5809

Info21 писал(а):
Работаем над 1.7ш.

Хорошо. Отладчик будете включать туда?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Пятница, 02 Март, 2018 12:05 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 987
budden писал(а):
Хорошо.
Помнится уже говорили о завершении. И вот опять... Хотя, так и надо, наверное.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Пятница, 02 Март, 2018 22:05 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7834
Откуда: Троицк, Москва
Отладчик включать не буду из принципа. Это разврат мозга на уровне импринтинга.

О завершении не говорилось. Говорилось, что на 1.7 делаются свои проекты -- это не школьная версия.

Кроме того, я никому ничего не должен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Суббота, 03 Март, 2018 09:52 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 987
Она и имелась в виду. Победа она одна на всех, не беспокойтесь так.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Воскресенье, 04 Март, 2018 18:19 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7834
Откуда: Троицк, Москва
Не люблю паразитов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Воскресенье, 04 Март, 2018 21:11 

Зарегистрирован: Понедельник, 11 Сентябрь, 2017 13:23
Сообщения: 130
Info21 писал(а):
Это разврат мозга на уровне импринтинга.

Чтобы диагностировать чужой мозг, нужна уверенность в корректности своего :) Может быть, в школе уместно умолчать про отладчик. И конечно, аскетизм имеет смысл. Но в профессиональном использовании человек без отладчика обладает, уж простите, пониженной конкурентоспособностью. А можно сказать и "ограниченно профпригоден".

Отладчик - это просто инструмент, у него есть своя область применения.

Я не знаю, какова ваша мотивация отвержения отладчика, но мне известно такое изречение на эту тему: "если тебе нужен отладчик, значит, ты не понимаешь, как работает твой код".

С этим мнением есть две проблемы:

1. Подразумевается, что не понимать - это позорно.
2. Подразумевается, что код - мой.

Может быть, в школе это так. Но школа - это первый этап становления ИТ-профессионалов. А в индустрии расклад другой:

1. Код принципиально непостижим, его можно понять лишь местами и временами.
2. Код, скорее всего, не мой.
3. Иногда исходников вообще нет и, соответственно, нет даже объекта понимания.
4. Документация может не соответствовать действительности.
5. Чужой код может содержать ошибки.

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

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

И здесь отладчик является необходимым инструментом.

Есть ещё такое мнение: "можно отлаживаться логгированием или трассировкой, да и вообще отладку нужно заменять контрактами". На самом же деле, контракты нельзя применить, пока нет понимания, каковы они. В случае старого чужого кода это уже поздно. Отладка логгированием и трассировкой - это частные случаи отладки, их может делать отладчик, причём зачастую отладчик позволяет сделать то же самое на порядок-два удобнее. В конце-то концов вывод в лог реализуется через брекпойнт с действием "напечатай", но в отладчике его можно ставить без перезапуска и пересборки программы, а это важно.

Далее, некоторые виды ошибок почти невозможно локализовать без отладчика. Например, повреждение памяти, когда кто-то незаконно пишет в мой объект и портит его. Искать эту ошибку чтением исходников - обычно задача просто нереально сложная. Точки останова на записи в память позволяют найти эту ошибку быстро и зачастую это единственный способ вообще найти эту ошибку. Поскольку установка ограды на льва в пустыне путём модификации исходных текстов программы переносит точку повреждения на другой объект или на другое время. Лев телепортируется.

Далее, недавно я узнал об отладке процессоров. Оказывается, их вообще нельзя отлаживать печатью. Поскольку печать - это системный вызов, который кардинально меняет весь процесс работы. То же можно сказать и про оптимизированный код. Вставка печати приведёт к тому, что код скомпилируется по-другому. Ошибка в оптимизаторе ускользнёт.

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

Для самоконтроля вы можете задаться вопросом: какие были самые большие программы с самой маленькой долей вашего кода, которые вам приходилось править? У меня это была программа из 500000 строк на лиспе, где моего кода было 0. Я кое-что сумел исправить, и без отладчика мне пришлось бы ооочень туго.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Воскресенье, 04 Март, 2018 22:14 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 987
budden писал(а):
5. Чужой код может содержать ошибки.

Нельзя объять необъятное.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Воскресенье, 04 Март, 2018 23:53 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 675
Откуда: Киев
Info21 писал(а):
Отладчик включать не буду из принципа. Это разврат мозга на уровне импринтинга.
Когда я учился в школе я видел, как некоторые ученики вместо того, чтобы подумать, бросались в пошаговую отладку, пытаясь понять, что же они сами натворили. Соглашусь, что в школе это не нужно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Воскресенье, 04 Март, 2018 23:56 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 675
Откуда: Киев
budden писал(а):
Для самоконтроля вы можете задаться вопросом: какие были самые большие программы с самой маленькой долей вашего кода, которые вам приходилось править? У меня это была программа из 500000 строк на лиспе, где моего кода было 0. Я кое-что сумел исправить, и без отладчика мне пришлось бы ооочень туго.
Вы ведь неспроста решили отказаться от этого проекта?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Понедельник, 05 Март, 2018 00:09 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 675
Откуда: Киев
budden писал(а):
мне известно такое изречение на эту тему: "если тебе нужен отладчик, значит, ты не понимаешь, как работает твой код".
Подтверждаю, в мэйнстриме не понимать, как работает твой и чужой код - это норма. И это ужасно. Дело не ограничивается пошаговым отладчиком, он лишь часть общей картины.

Работа с пошаговым отладчиком противоположна свойству алгоритмов, которое называется массовость. Люди верят, что поняли код по 1-му или нескольким прогонам, в то время как алгоритм должен быть корректен для большого разнообразия входных данных, и затачивать своё понимание на конкретные условия в отладке - это процесс, обречённый для провал, если задача - корректный алгоритм.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Понедельник, 05 Март, 2018 00:17 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 675
Откуда: Киев
budden писал(а):
Далее, некоторые виды ошибок почти невозможно локализовать без отладчика. Например, повреждение памяти, когда кто-то незаконно пишет в мой объект и портит его. Искать эту ошибку чтением исходников - обычно задача просто нереально сложная.
Странное утверждение. Для поиска повреждения памяти используются специальные средства, и это не пошаговая отладка, что было бы крайне накладным. Даже в Си это делается достаточно неплохо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Понедельник, 05 Март, 2018 00:30 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7834
Откуда: Троицк, Москва
Предлагаю выделить тему "Пошаговый отладчик в школьной сборке?"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Понедельник, 05 Март, 2018 01:53 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 987
Comdiv писал(а):
budden писал(а):
Для самоконтроля вы можете задаться вопросом: какие были самые большие программы с самой маленькой долей вашего кода, которые вам приходилось править? У меня это была программа из 500000 строк на лиспе, где моего кода было 0. Я кое-что сумел исправить, и без отладчика мне пришлось бы ооочень туго.
Вы ведь неспроста решили отказаться от этого проекта?
Тоже любопытно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Понедельник, 05 Март, 2018 07:07 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 468
Info21 писал(а):
Отладчик включать не буду из принципа. Это разврат мозга на уровне импринтинга.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Понедельник, 05 Март, 2018 10:48 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7834
Откуда: Троицк, Москва
Удаление из класса отладчика -- это методический фокус гораздо более примитивного уровня, чем тот, на котором тут философствуют контупероиды.

Публика глубоко (повторяю, глубоко) не понимает, что такое школа и школьники -- поэтому она не может проинтерпретировать ту фразу Вирта.

Ну и -- в школе отнюдь не чинят тонны кода.

Как не чиню их я -- просто выбрасываю гуано. Но это специфика профессии.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Понедельник, 05 Март, 2018 13:20 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 468
учить пользоваться инструментом нужно со школы. Учить отлаживать программы. Не на уровне: вот это, ребята отладчик, но он не нужен, но если хотите, вот тут нажмите пимпочку, сюда забейте текст, тут откроется вьюшка, здесь вылезет какая-то фиговина, ну в общем это сложно, лучше используйте Log.OutXXX ))).
Их нужно учить отлаживать программы. Они должны знать что такое отладка. Принципы и способы отладки. Их нужно сразу учить, чтобы сформировать понимание, когда нужно использовать отладчик, когда логирование, когда трассировку... а когда их комбиноровать.
Отладка, на самом деле, не простая штука, и чесм раньше будет заложен фундамент, тем лучше во всех смыслах.
Проблема в том, что преподы редко понимают, что такое отладка, поэтому и боязь всяких страшных слов типа пошаговый отладчик).
Ну и выше человек верно сказал. Есмли мы взялись за отладчик, отлаживать нужно именно тот бинарник, на котором воспроизводится ошибка, без изменений. Потому что внесение дополнительных переменных, вызовов, меняет картину. Бывает так, что проблема вообще не в этом исходном коде. Хороший пример здесь был с OO2C, когда кто-то скомпилировал алгоритм отрисовки линии, и он не работал как нужно, но внесение лишней переменной совершенно меняло картину. Правила Юниттестирования также требуют, чтобы тестируемый код и распространяемый код решения не отличались, а иначе не понятно, что же вы там тестировали))_ А поэтому пихать туда вывод, для отладки, а потом удалять, не правильный подход. Или не удалять или не пихать, но оставлять лишний код, не несущий смысловой нагрузки - моветон.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Понедельник, 05 Март, 2018 14:21 

Зарегистрирован: Четверг, 08 Май, 2008 19:13
Сообщения: 675
Откуда: Киев
Kemet писал(а):
учить пользоваться инструментом нужно со школы.
С какого перепугу? В информатике и так хватает бардака.
В школе нужно учить основам. Иначе, это всё равно что математику учить через работу с калькуляторами, а физику заменить изучением работы с промышленными приборами.

Недавно я слышал недовольство, что в университетах не учат работать с git. Это где-то оттуда же.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Понедельник, 05 Март, 2018 15:31 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1086
Учить нужно хорошему, плохому и сами научатся.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Понедельник, 05 Март, 2018 16:18 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 468
Comdiv писал(а):
Kemet писал(а):
учить пользоваться инструментом нужно со школы.
С какого перепугу? В информатике и так хватает бардака.
Перепуг там только у преподов может быть, учителя дышат ровно. Понятие Отладка программы, как инструмент, должно закладываться с первых шаког обучения программированию. Да я даже вспоминаю, давным давно, когда компьютеры были большими, типа Корвет или УКНЦ, и там стоял Бейсик, или в лучшем случае, Паскаль, нас учили пользоваться средствами отладки, хотя их там не великое множество, но было, halt ( с дампом, регистрами и девками), дамп памяти, регистры, впрочем и настоящий отладчик был, хексредактор)) ( хотя, ничего смешного, DESS был крутейшей вещью на тот период).
Все это нам показывали в школе, и учили пользоваться отладкой. И это вполне благодатно сказалось на нашем развитии.
Да и как не пользоваться отладкой, если постоянно что-то висло, и не скомпилировавшаяся или неверно работающая программа, могла спокойно скомпилироваться или заработать на следующем уроке))). Здесь без отладки никак, нужно понять, в чем проблема, в программе, в компиляторе или в Фодосе каком-нибудь.
Comdiv писал(а):
В школе нужно учить основам.

Это и есть основы.
Comdiv писал(а):
Иначе, это всё равно что математику учить через работу с калькуляторами, а физику заменить изучением работы с промышленными приборами.

А я художников учил пользованию ПК и программированию через рисование, в редакторе, а потом и программно. Это был единственный способ, используя понятную для них предметную область. Потому что вряд ли они написали бы программу для решения системы уровнений))) не их это тема. И они, в итоге, программировали лучше других курсов.
Comdiv писал(а):
Недавно я слышал недовольство, что в университетах не учат работать с git. Это где-то оттуда же.
Это не оттуда, но основы управления исходным кодом программисту нужно дать. Хотя-бы объяснить и постоянно напоминать, приучая.
А то приходят потом такие студиозусы и нихрена понять не можешь, что они столько лет в вузе делали и за что преподам зарплаты платят, раз мы потом этих студентов учим и переучиваем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Есть ли русификатор BlackBox 1.7 ?
СообщениеДобавлено: Понедельник, 05 Март, 2018 20:15 

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7834
Откуда: Троицк, Москва
Trurl писал(а):
Учить нужно хорошему, плохому и сами научатся.
Золотые слова.

Пушкин, теорема Пифагора, Оберон.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 191 ]  На страницу 1, 2, 3, 4, 5 ... 10  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2018, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB