OberonCore https://forum.oberoncore.ru/ |
|
об отладчике https://forum.oberoncore.ru/viewtopic.php?f=7&t=1760 |
Страница 1 из 1 |
Автор: | Info21 [ Четверг, 13 Август, 2009 11:05 ] |
Заголовок сообщения: | об отладчике |
Подобная тема была, но в профессиональном контексте (viewtopic.php?f=26&t=1190&start=0&hilit=%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D1%87%D0%B8%D0%BA). Однако этот вопрос должен явно фигурировать и в этом разделе. Вот подходящая общепедагогическая цитата, указывающая на фундаментальный, никак не связанный с программированием per se корень проблемы: А.В.Хвостов писал(а): любому человеку, занимавшемуся преподаванием, прекрасно известно, что стоит ученику позволить гадать, он мгновенно и необратимо прекращает думать. http://pedsovet.org/forum/index.php?sho ... t&p=104650 |
Автор: | Vlad [ Четверг, 13 Август, 2009 16:26 ] |
Заголовок сообщения: | Re: об отладчике |
А.В.Хвостов писал(а): любому человеку, занимавшемуся преподаванием, прекрасно известно, что стоит ученику позволить гадать, он мгновенно и необратимо прекращает думать. А как же "метод научного тыка"? ![]() |
Автор: | igor [ Четверг, 13 Август, 2009 16:48 ] |
Заголовок сообщения: | Re: об отладчике |
Vlad писал(а): А как же "метод научного тыка"? Этот метод по своей сути является антинаучным, имхо.
![]() |
Автор: | Valery Solovey [ Четверг, 13 Август, 2009 17:11 ] |
Заголовок сообщения: | Re: об отладчике |
Vlad писал(а): А как же "метод научного тыка"? Одно дело наугад открывать (а если быть более точным, то не наугад, а случайно), а другое дело наугад доказывать.
![]() |
Автор: | Илья Ермаков [ Четверг, 13 Август, 2009 17:16 ] |
Заголовок сообщения: | Re: об отладчике |
Надо отличать "наугад" (перебор без организующих структур-моделей в голове) от целенаправленного поиска (имеем ясное представление о цели, догадку о пути(ях) к ней, грамотно организуем экспериментальную проверку путей, с отбрасыванием тупиковых) или случайного обнаружения неожиданного результата при целенаправленной работе в другом направлении. Кроме того, для программирования экспериментальность всегда вынужденная. Это же не изучение свойств природных систем. Экспериментировать можно только с изучением свойств кем-то до тебя созданных артефактов. И если приходится много экспериментировать, то плохо они были созданы... Все мы через эти эксперименты проходили и проходим (когда спускаешься на уровень нижележащих платформ). К сожалению, многие даже не представляют, что эта ситуация - ненормальна. Тем более, что процесс такого "исследовательства" может приносить интерес и удовлетворение. Особенно, если нет представления о настоящем познании реального мира. |
Автор: | Vlad [ Четверг, 13 Август, 2009 17:21 ] |
Заголовок сообщения: | Re: об отладчике |
Valery Solovey писал(а): Vlad писал(а): А как же "метод научного тыка"? Одно дело наугад открывать (а если быть более точным, то не наугад, а случайно), а другое дело наугад доказывать.![]() Не понял. Причем тут отладчик? Когда я беру отладчик - я ничего никому не доказываю ![]() ![]() |
Автор: | Илья Ермаков [ Четверг, 13 Август, 2009 17:31 ] |
Заголовок сообщения: | Re: об отладчике |
Это Вы берёте отладчик ![]() ![]() А детвора (всяческого возрасту) прямо в отладчике программирует ![]() ![]() |
Автор: | Vlad [ Четверг, 13 Август, 2009 17:36 ] |
Заголовок сообщения: | Re: об отладчике |
Илья Ермаков писал(а): Надо отличать "наугад" (перебор без организующих структур-моделей в голове) от целенаправленного поиска (имеем ясное представление о цели, догадку о пути(ях) к ней, грамотно организуем экспериментальную проверку путей, с отбрасыванием тупиковых) или случайного обнаружения неожиданного результата при целенаправленной работе в другом направлении. Э... И причем тут отладчик? Или вы по-прежнему о забивании гвоздей микроскопом (использовании отладичка не по делу)? Илья Ермаков писал(а): Кроме того, для программирования экспериментальность всегда вынужденная. Это же не изучение свойств природных систем. Экспериментировать можно только с изучением свойств кем-то до тебя созданных артефактов. И если приходится много экспериментировать, то плохо они были созданы... Все мы через эти эксперименты проходили и проходим (когда спускаешься на уровень нижележащих платформ). К сожалению, многие даже не представляют, что эта ситуация - ненормальна. Тем более, что процесс такого "исследовательства" может приносить интерес и удовлетворение. Особенно, если нет представления о настоящем познании реального мира. Абсолютно нормальная ситуация. Не могут все думать одинаково. Понять как думали до тебя и додумать лучше. Можно в качестве лозунга вешать ![]() |
Автор: | igor [ Четверг, 13 Август, 2009 17:38 ] |
Заголовок сообщения: | Re: об отладчике |
Илья Ермаков писал(а): Кроме того, для программирования экспериментальность всегда вынужденная. Позволю себе заметить, что между научным экспериментом и "методом научно обоснованного тыка" нет ничего общего. Прежде всего, эксперимент тщательно готовится. И самому эксперименту предшествует научный прогноз. Потому что цель эксперимента -- сравнение фактических и ожидаемых результатов. На основании этого сравнения делается вывод о правильности или неправильности теории.PS: Извините, если отвлёкся от темы. Дело, конечно, в моих комплексах ![]() |
Автор: | Vlad [ Четверг, 13 Август, 2009 17:42 ] |
Заголовок сообщения: | Re: об отладчике |
Илья Ермаков писал(а): А детвора (всяческого возрасту) прямо в отладчике программирует ![]() ![]() А еще в студии есть "Edit and continue" - вообще классная штука ![]() ![]() ![]() |
Автор: | Илья Ермаков [ Четверг, 13 Август, 2009 17:50 ] |
Заголовок сообщения: | Re: об отладчике |
Vlad писал(а): Э... И причем тут отладчик? Или вы по-прежнему о забивании гвоздей микроскопом (использовании отладичка не по делу)? Я исключительно в качестве ответа на Ваш вопрос "а разве не делались открытия" ![]() Бэконовский экспериментально-индуктивный метод в науке - это весьма далеко от "тыка". |
Автор: | Валерий Лаптев [ Пятница, 14 Август, 2009 09:47 ] |
Заголовок сообщения: | Re: об отладчике |
igor писал(а): Илья Ермаков писал(а): Кроме того, для программирования экспериментальность всегда вынужденная. Позволю себе заметить, что между научным экспериментом и "методом научно обоснованного тыка" нет ничего общего. Прежде всего, эксперимент тщательно готовится. И самому эксперименту предшествует научный прогноз. Потому что цель эксперимента -- сравнение фактических и ожидаемых результатов. На основании этого сравнения делается вывод о правильности или неправильности теории.Очень хорошее описание тестирования... ![]() Если не совпадают результаты эксперимента, ученый начинает ДУМАТЬ, почему так произошло. Программист-практик просто залезает в отладчик. Не факт, что это - хорошо. У меня пару раз были такие случаи в первых версих Borland C++ (не Билдер). При трансляции в отладочном режиме при запуске из-под среды все прекрасно работало. Стоило оттранслировать тот же текст в релизе - получались неправильные результаты. Отладка в среде, естественно, не помогала. Только при отладке в TurboDebuggere удалось найти ошибку. Это я к тому, что в ББ вообще отсутствует так называемая отладочная трансляция. И это хорошо! Поэтому и отладчика нет. ИМХО, в ББ он и не нужен. Уже сам язык заставляет программера думать строже. И обычных ляпов - намного меньше. На рсдн есть пост, в котором приведен ну совершенно классический ляп для С/С++ Код: if (p < 0,5) { std::cout << "Вот так спутники и падают..."; } Обратите на запятую в константе 0,5. На С++ новичок такое запросто может написать, и компилятор вполне себе скушает! А в виртовских языках такое просто невозможно по определению! |
Автор: | А.П. [ Пятница, 14 Август, 2009 13:53 ] |
Заголовок сообщения: | Re: об отладчике |
Илья Ермаков писал(а): "Погоняйте, посмотрите, как ваш цикл работает..." ![]() Для детворы, впервые в жизни видящей базовые конструкции языка типа циклов, очень полезны были бы визуальные анимированные модели, наглядно демонстрирующие работу конструкций при их правильном и ошибочном применении. Отладчики и "черепашки" в значительной степени эту роль выполняют, но, ИМХО, недостаточно эффективно. Помню, как я безуспешно бился с 5-классником на цикле FOR. Я не справился, парнишка бросил занятия. А будь у меня под рукой игрушка - "машинка" ЦИКЛ - результат был бы, возможно, иным. Правда, в то время у меня и нынешней черепашки не было, учил на абстрактной, сухой математике, мучил деток "программизмами", как изволят выражаться некоторые на форуме pedsovet.org ![]() А что, пожалуй, можно слепить несколько диалоговых тренажеров-визуализаторов, объясняющих устройство конструкций и наглядно, ПОШАГОВО, с пояснениями показывающих все особенности их работы при задании различных исходных данных ![]() |
Автор: | Илья Ермаков [ Пятница, 14 Август, 2009 14:14 ] |
Заголовок сообщения: | Re: об отладчике |
Показ по тексту Дракон-схем с бегунком ![]() |
Автор: | Info21 [ Пятница, 14 Август, 2009 20:26 ] |
Заголовок сообщения: | Re: об отладчике |
черепашки достаточно. |
Автор: | Alexey Veselovsky [ Воскресенье, 16 Август, 2009 03:00 ] |
Заголовок сообщения: | Re: об отладчике |
Вообще, я лично замечал что начинающим (детям и не очень -- от возраста не шибко зависит) весьма сложно понять как же работают императивные ЯП. Т.е. народ изначально читает исходник декларативно т.е. без соблюдения очередности и порядка. И на основе всего того что на экране показано пытается делать некие предположения, построить какую-то в голове схему. Возможно в этом виновата наша всё ещё слишком хорошая школа преподавания математики... Так вот, для объяснения как же это всё на самом деле работает очень сильно помогает показать в отладчике работу программы. По шагам. Где видно как меняются переменные, за какой строчкой исполняется какая и т.д. и т.п. Естественно существует не малая опасность что новичок как залезет в отладчик так оттуда и не вылезет. Вместо того чтобы подумать 10 минут будет сутки комбинировать в отладчики все возможные вариации а в результате так и не поймет почему оно не работало и почему же заработало. Т.е. в результате обучения не произойдет. На эту тему вспоминается цитата с bash.org.ru: Цитата: DM82: Мне недавно рассказали как делают корабли в бутылках. В бутылку засыпают силикатного клея, говна и трясут. Получаются разные странные штуки, иногда корабли. Так вот -- очень часто школьниками/студентами а иногда и профи, программы вот так вот и пишутся. Самое печальное что запрет отладчика не помешает трясти бутылку: будет отладочная печать (через каждую строчку), будут бесконечные бестолковые модификации программы (типа, а вот тут мы заменим ка плюс на минус, запустим и посмотрим что будет -- вдруг сработает?) и т.д. и т.п. Восприпятствовать бесконечному трясению бутылкой может только нежелание её трясти. И ничто иное. А нежелание трясти возникнет в случае если клиент увидит что подумать -- проще и быстрее чем трясти бутылку в ожидании когда же там наконец сложится кораблик. |
Автор: | Info21 [ Воскресенье, 16 Август, 2009 12:42 ] |
Заголовок сообщения: | Re: об отладчике |
черепашки -- достаточно. |
Автор: | Alexey Veselovsky [ Воскресенье, 16 Август, 2009 17:28 ] |
Заголовок сообщения: | Re: об отладчике |
Главное, чтобы черепашка была правильная! ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |