OberonCore https://forum.oberoncore.ru/ |
|
Медленный компилятор помогает обучению... :) https://forum.oberoncore.ru/viewtopic.php?f=7&t=2445 |
Страница 1 из 1 |
Автор: | Валерий Лаптев [ Вторник, 16 Март, 2010 18:55 ] |
Заголовок сообщения: | Медленный компилятор помогает обучению... :) |
Обнаружил блог "Записки инженера". http://note-work.blogspot.com/ И там интересное наблюдение. Улыбнуло. Цитата: суббота, 27 сентября 2008 г.
В последнее время все чаще наблюдаю картину, как компилятор пишет программу руками человека. Начинается все так: садится программист за компьютер, набирает код программы, запускает компиляцию и начинает исправление ошибок. В принципе, самый обычный порядок рабочих действий программиста, но есть в этом одно "но". Дело в том, что программист не исправляет ошибки, основываясь на собственных знаниях, а руководствуется исключительно сообщениями компилятора, перезапуская компиляцию много раз. На выходе получаем низкокачественный код, написанный под руководством компилятора. Такой подход к работе - явление нередкое. Очень часто студенты используют такой подход при написании своих учебных программ. Самое плохое в этом - они не приобретают навыков создания ПО, не умеют правильно планировать сроки разработки, потому что не знают, как отреагирует компилятор на их код. Вот подумал, что бороться с таким подходом к программированию может помочь низкая скорость компиляции, вызванная слабой машиной, либо медленным компилятором. На эту мысль натолкнуло наблюдение за другими программистами. Многие начинают тщательнее продумывать свой код и свою работу, лишь бы не сидеть в ожидании завершения процесса компиляции по минуте-другой. Такое ожидание очень сильно действует на нервы, поэтому его стараются избежать или сократить количество компиляций. |
Автор: | Иван Кузьмицкий [ Вторник, 16 Март, 2010 20:20 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
В пределе, компилятор должен сработать только один раз! И это будет Идеальный Код! ![]() |
Автор: | Евгений Темиргалеев [ Вторник, 16 Март, 2010 20:24 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
убираем пошаговый отладчик, и Цитата: ...Многие начинают тщательнее продумывать свой код и свою работу...
|
Автор: | Info21 [ Вторник, 16 Март, 2010 20:38 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
Еще лучше рукой писать на бумажке. Как не ЕГЭ ![]() |
Автор: | Валерий Лаптев [ Вторник, 16 Март, 2010 20:43 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
Info21 писал(а): Еще лучше рукой писать на бумажке. Как не ЕГЭ ![]() Если в руке есть молоток, то начинают искать гвоздь... ![]() Я сам в свое время при переходе на дисплеи с перфокарт неоднократно ловил себя на том, что проще попробовать непосредственно. ![]() ![]() |
Автор: | Александр Шостак [ Вторник, 16 Март, 2010 21:22 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
Цитата: убираем пошаговый отладчик, и... ...в конец измученные, забиваем на язык без него. От логических ошибок не спасает ни структурность, ни ассерты, в которые также могут забраться ошибки. |
Автор: | Илья Ермаков [ Вторник, 16 Март, 2010 22:07 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
Но спасает намеренный ASSERT, вставленный для диагностики (или чаще тупой HALT) - и вдумчивая медитация над показнной картой памяти. Перемежаемая неспешными клюками по указателям. |
Автор: | Info21 [ Вторник, 16 Март, 2010 22:19 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
Berserker писал(а): Цитата: убираем пошаговый отладчик, и... ...в конец измученные, забиваем на язык без него. |
Автор: | Александр Шостак [ Вторник, 16 Март, 2010 22:42 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
А кому решать, кто нужен, а кто нет? Вам? Илья, структурное программирование, assert-ы, ужесточённый контроль памяти, проверки индексов массивов можно успешно применять и и в более приближенных к жизни языках - в частности в Делфи, что я и делаю. И тем не менее, логические ошибки неизбежны. В Обероне есть полный дамп памяти и стёка вызовов, а в Делфи аналог в виде отладчика, просмотра переменных и т.д, без которых, чисто на доказательстве программ, далеко не уедешь. Истинные гуру, о которых, видимо, думает info21 - это люди, которые и в дампах не нуждаются. Их программы по умочанию верны, а все ошибки находятся в момент компиляции. Разумеется, при большом опыте программирования в определённой сфере частота ошибок падает, но не исчезает. |
Автор: | Илья Ермаков [ Вторник, 16 Март, 2010 22:55 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
Я никак не пойму, с чем Вы спорите. Цитата: В Обероне есть полный дамп памяти и стёка вызовов ... без которых, чисто на доказательстве программ, далеко не уедешь У вас кто-то отнимает это где-то? Термин "пошаговый отладчик" подразумевает инструмент для прогонки приложения команда за командой с прерыванием после каждой. А вообще отладчики бывают разные. Не только пошаговые. |
Автор: | AVC [ Вторник, 16 Март, 2010 23:07 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
Цитата: Вот подумал, что бороться с таким подходом к программированию может помочь низкая скорость компиляции, вызванная слабой машиной, либо медленным компилятором. Зачем мелочиться? Давайте вернёмся к перфокартам... ![]() Вообще непонятно, в чём проблема. Многократность и скорость компиляции положительно оцениваются на сайте "Информатика-21", а теперь вдруг попали в немилость. |
Автор: | Валерий Лаптев [ Среда, 17 Март, 2010 01:15 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
Berserker писал(а): Цитата: убираем пошаговый отладчик, и... ...в конец измученные, забиваем на язык без него. От логических ошибок не спасает ни структурность, ни ассерты, в которые также могут забраться ошибки. Не... Речь-то идет о начинающих программерах-студентах. Значит, допустимо в учебных целях сделать медленный компилятор и требовать, чтоб работало на нем в учебном классе, а не на навороченных ноутбуках... ![]() |
Автор: | Сергей Губанов [ Среда, 17 Март, 2010 07:27 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
В учебных целях лучше чтоб компилятор всё-таки быстро работал, но в случае обнаружения ошибки компиляции включать громкую противную сирену ![]() |
Автор: | Валерий Лаптев [ Среда, 17 Март, 2010 08:47 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
Сергей Губанов писал(а): В учебных целях лучше чтоб компилятор всё-таки быстро работал, но в случае обнаружения ошибки компиляции включать громкую противную сирену ![]() Спасибо, Сергей, за идею! Есть хороший вариант этого подхода: помощник вроде попугая Кеши начинает громко ругаться и обещать оторвать руки такому программисту... ![]() |
Автор: | Валерий Лаптев [ Среда, 17 Март, 2010 16:15 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
Мы тут у себя пообсуждали. И пришли к выводу, что обучающая среда должна строится по принципу игр. Сделал правильно лабу - получи некий бонус от среды. Типа компилятор стал работать быстрее... ![]() Понравилась идея многим... ![]() |
Автор: | Geniepro [ Четверг, 18 Март, 2010 08:10 ] |
Заголовок сообщения: | Re: Медленный компилятор помогает обучению... :) |
Массовая ролевая онлайн-игра! Прокачка уровня и скиллов... ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |