OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 12 Ноябрь, 2019 06:38

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
СообщениеДобавлено: Вторник, 16 Март, 2010 18:55 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3108
Откуда: Астрахань
Обнаружил блог "Записки инженера".
http://note-work.blogspot.com/
И там интересное наблюдение.
Улыбнуло.
Цитата:
суббота, 27 сентября 2008 г.

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 16 Март, 2010 20:20 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2932
Откуда: г. Ярославль
В пределе, компилятор должен сработать только один раз! И это будет Идеальный Код! :)))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 16 Март, 2010 20:24 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4525
Откуда: Россия, Орёл
убираем пошаговый отладчик, и
Цитата:
...Многие начинают тщательнее продумывать свой код и свою работу...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 16 Март, 2010 20:38 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8196
Откуда: Троицк, Москва
Еще лучше рукой писать на бумажке. Как не ЕГЭ :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 16 Март, 2010 20:43 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3108
Откуда: Астрахань
Info21 писал(а):
Еще лучше рукой писать на бумажке. Как не ЕГЭ :)

Если в руке есть молоток, то начинают искать гвоздь... :)
Я сам в свое время при переходе на дисплеи с перфокарт неоднократно ловил себя на том, что проще попробовать непосредственно. :) Правда и задачи у меня были относительно простые... :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 16 Март, 2010 21:22 

Зарегистрирован: Четверг, 23 Апрель, 2009 18:01
Сообщения: 219
Цитата:
убираем пошаговый отладчик, и...

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 16 Март, 2010 22:07 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9154
Откуда: Россия, Орёл
Но спасает намеренный ASSERT, вставленный для диагностики (или чаще тупой HALT) - и вдумчивая медитация над показнной картой памяти. Перемежаемая неспешными клюками по указателям.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 16 Март, 2010 22:19 
Аватара пользователя

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

...в конец измученные, забиваем на язык без него.
Такие программеры и не нужны.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 16 Март, 2010 22:42 

Зарегистрирован: Четверг, 23 Апрель, 2009 18:01
Сообщения: 219
А кому решать, кто нужен, а кто нет? Вам?

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 16 Март, 2010 22:55 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9154
Откуда: Россия, Орёл
Я никак не пойму, с чем Вы спорите.

Цитата:
В Обероне есть полный дамп памяти и стёка вызовов ... без которых, чисто на доказательстве программ, далеко не уедешь


У вас кто-то отнимает это где-то?

Термин "пошаговый отладчик" подразумевает инструмент для прогонки приложения команда за командой с прерыванием после каждой. А вообще отладчики бывают разные. Не только пошаговые.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 16 Март, 2010 23:07 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
Цитата:
Вот подумал, что бороться с таким подходом к программированию может помочь низкая скорость компиляции, вызванная слабой машиной, либо медленным компилятором.
Зачем мелочиться? Давайте вернёмся к перфокартам... :)
Вообще непонятно, в чём проблема.
Многократность и скорость компиляции положительно оцениваются на сайте "Информатика-21", а теперь вдруг попали в немилость.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 17 Март, 2010 01:15 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3108
Откуда: Астрахань
Berserker писал(а):
Цитата:
убираем пошаговый отладчик, и...

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

Не... Речь-то идет о начинающих программерах-студентах. Значит, допустимо в учебных целях сделать медленный компилятор и требовать, чтоб работало на нем в учебном классе, а не на навороченных ноутбуках... :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 17 Март, 2010 07:27 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
В учебных целях лучше чтоб компилятор всё-таки быстро работал, но в случае обнаружения ошибки компиляции включать громкую противную сирену :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 17 Март, 2010 08:47 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3108
Откуда: Астрахань
Сергей Губанов писал(а):
В учебных целях лучше чтоб компилятор всё-таки быстро работал, но в случае обнаружения ошибки компиляции включать громкую противную сирену :D

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 17 Март, 2010 16:15 

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 18 Март, 2010 08:10 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Массовая ролевая онлайн-игра! Прокачка уровня и скиллов... :lol:


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ] 

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


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

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


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

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