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: Медленный компилятор помогает обучению... :)

В учебных целях лучше чтоб компилятор всё-таки быстро работал, но в случае обнаружения ошибки компиляции включать громкую противную сирену :D

Автор:  Валерий Лаптев [ Среда, 17 Март, 2010 08:47 ]
Заголовок сообщения:  Re: Медленный компилятор помогает обучению... :)

Сергей Губанов писал(а):
В учебных целях лучше чтоб компилятор всё-таки быстро работал, но в случае обнаружения ошибки компиляции включать громкую противную сирену :D

Спасибо, Сергей, за идею! Есть хороший вариант этого подхода: помощник вроде попугая Кеши начинает громко ругаться и обещать оторвать руки такому программисту... :)

Автор:  Валерий Лаптев [ Среда, 17 Март, 2010 16:15 ]
Заголовок сообщения:  Re: Медленный компилятор помогает обучению... :)

Мы тут у себя пообсуждали. И пришли к выводу, что обучающая среда должна строится по принципу игр. Сделал правильно лабу - получи некий бонус от среды. Типа компилятор стал работать быстрее... :) Или разрешается использовать некоторые спец-возможности, которые начинающему - низзя!!!
Понравилась идея многим... :)

Автор:  Geniepro [ Четверг, 18 Март, 2010 08:10 ]
Заголовок сообщения:  Re: Медленный компилятор помогает обучению... :)

Массовая ролевая онлайн-игра! Прокачка уровня и скиллов... :lol:

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/