Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение Обсуждение из раздела Школа ОБЕРОНА
№ 3816 12-04-2007 04:18 | |
Ответ на »сообщение 3813« (Сергей Перовский)
___________________________
Я готов отдать часть стандартных операций стандартным модулям (тот же пользовательский интерфейс), но не готов использовать частные чужие разработки без доступа к исходным кодам на основе только интерфейса и описания алгоритма.
Интересно. С одной стороны, Вам не хочется заморачиваться деталями внутренностей модулей, "нужно ощущать каждый винтик относящийся к моей конкретной задаче", а не к ее реализации. С другой, воспринимаете модули Оберона как средство, обязательно изолирующее от проверки правильности.
Начну с того, что с точки зрения наличия механизма модулей (если убрать динамику загрузки-выгрузки, что, как уже отмечал, -- не особенность языка Оберон/КП, а особенность реализации) я не вижу принципиальных различий между Delphi и Оберон/КП. Просто в последних более продуманный дизайн. Но если Вы в реальной практике, работая на Delphi, не испытываете проблем с проверкой правильности, почему они вдруг должны взяться в Обероне/КП? Откуда? Используйте (работая на Обероне/КП) свою дисциплину, заглядывая вовнутрь каждого сомнительного модуля.
В Обероне/КП (равно как и в Delphi) не обязательно придерживаться принципа "всё или ничего", т.е. белого или черного ящика. Очевидно, что из черного ящика часть информации (для контроля и убеждения в правильности) желательно поднимать повыше (см. например пояснение верификатора ранее). Далеко не все модули могут быть предоставлены в исходных текстах, поэтому либо нужно им доверять (как "на слово", так и с проверкой/тестированием -- лучше с декларированными пред/пост-условиями и инвариантами), либо подменять своими.
Если уж мы затрагиваем дисциплину и подходы, то имеет смысл еще раз взглянуть на greybox: The Greybox Approach: When Blackbox Specifications Hide Too Much (1999) // Martin Buchi [Turku Centre for Computer Science, Finland]; Wolfgang Weck [Oberon microsystems, Switzerland] http://www.europrog.ru/paper/mb1999.pdf
№ 3815 12-04-2007 04:12 | |
Ответ на »сообщение 3809« (Мухтар )
___________________________
Вопрос к Оберонщикам.
Оберон предусматривает строгий контроль за "Naming conventions"? Или для "хорошего" стиля программирования это не важно?
Важно. Но на уровень языка/компилятора эти моменты выносить... вряд ли имеет смысл.
Для Блэкбокса есть средства проверки исходного кода и контроля/исправления именования/оформления.
В целом, правила-то настолько просты, что удобнее их соблюдать, чем нарушать.
Лирическое отступление: сейчас веду дополнительные занятия для группы первокурсников с нашей "Прикладной математики". После того, как обучение перевели исключительно на С++, людям без предварительной подготовки усваивать материал стало совершенно невозможно.
Приходится "натаскивать" дополнительно. Но поскольку народ за свои деньги хочет не просто "теории", а и конкретной подготовки к экзамену, то приходится объяснять все ключевые концепции на базе С++, "высекая" требующееся для показа этих концепций подмножество.
Еще раз поражаешься всей глубине идиотизма - ввода в язык уймы возможностей, которые затем приходится запрещать "дисциплинарно".
Например, существует разделение на выражения и операторы (инструкции, как приходится говорить в С, чтобы не путали операторы/операции). Первые определяют вычисления без изменения состояния программы. Вторые служат для изменения состояния программы (состояние данных либо состояние управления).
Но ведь правила есть, чтобы их нарушать - в С++ можно описать выражение с побочным эффектом и всобачить оператор присваивания в выражение. Приходится половину занятия объяснять про то, "как надо", а потом еще половину - про то, как "не надо". "Увы, язык позволяет писать так, но это дурной стиль, никогда так не делайте". И все равно - приходится разбирать подробности "неправильных" примеров, потому что их преподаватель в тестировании на экзамене просто обожает давать задания со сложными выражениями с побочными эффектами (сложное сочетание инкрементов внутри арифметич. выражения и т.п.)
Бред, одно слово :-)
При должном подходе учить, конечно, можно, но времени на тот же материал/те же темы уходит, навскидку, в 3.14 раза больше...
№ 3814 12-04-2007 04:08 | |
Ответ на »сообщение 3804« (al_mt)
___________________________
По результатам проверки ОБЭП (неудачной для ОБЭП), в технаре было принято решение о переводе обучения программированию с DOS+Windows+QBASIC на Linux+FPC :-)
Попались на глаза некоторые документы из минобрнауки, где всерьез обсуждается массовый переход образования на Open Source.
Оберонщики, ваш выход :)
№ 3813 12-04-2007 04:03 | |
Ответ на »сообщение 3799« (Руслан Богатырев)
___________________________
>>>За отчуждение отвечают интерфейсы, а ощущение винтиков -- как в интерфейсах, так и в реализации. Где тут противоречие?
Ничего не имею против интерфейсов, но не стоит забывать, что они гарантируют только правильную стыковку компонентов, а не их правильную работу.
Если отдал существенную часть обработки данных в чужой модуль, о каком "ощущении винтиков" идет речь?
Я как то по другому воспринимаю этот образ.
Я готов отдать часть стандартных операций стандартным модулям (тот же пользовательский интерфейс), но не готов использовать частные чужие разработки без доступа к исходным кодам на основе только интерфейса и описания алгоритма.
№ 3812 12-04-2007 03:58 | |
Ответ на »сообщение 3802« (Владимир Лось)
___________________________
>>>Сколько можно воду в ступе толочь?
Действительно. Зачем думать? Прыгать надо!
№ 3811 12-04-2007 03:37 | |
Ответ на »сообщение 3808« (Владимир Лось)
___________________________
Уже скоро десятилетие ВЕЛИКОЙ ГОВОРИЛЬНИ отмечать будем...
В этом, видимо, существенное отличие оберонцев и оберонистов от некоторых других "гильдий": ошибки лучше допускать в "трёпе", чем в реальном деле. Лучше семь раз ошибиться на бумаге, чем один -- в железе.
№ 3810 12-04-2007 03:30 | |
Ответ на »сообщение 3808« (Владимир Лось)
___________________________
Да и, потом, когда-то и работать надо... :о)
Делу -- время, потехе -- час. :)
Если смотреть на дискуссию, как на потеху, то хотелось бы услышать мнение по поводу поднятых/рассмотренных тем (мне монологи нравятся все меньше):
1. Верификатор в Обероне/КП
2. Позиционирование Оберона и КП
3. Передача параметров
4. Обязательный квалифицирующий импорт
№ 3809 12-04-2007 03:27 | |
Вопрос к Оберонщикам.
Оберон предусматривает строгий контроль за "Naming conventions"? Или для "хорошего" стиля программирования это не важно?
№ 3808 12-04-2007 03:18 | |
Ответ на »сообщение 3807« (Руслан Богатырев)
___________________________
Владимир, если Вам есть что сказать по существу/возразить -- ради Бога. Я весь внимание...
Сколько можно?
Уже скоро десятилетие ВЕЛИКОЙ ГОВОРИЛЬНИ отмечать будем...
Да и, потом, когда-то и работать надо... :о)
№ 3807 12-04-2007 02:36 | |
Ответ на »сообщение 3802« (Владимир Лось)
___________________________
Пока что, относительно поговорки "собака лает - караван идёт", оберон-сообщество - не в роли каравана...
Жаль.
Владимир, если Вам есть что сказать по существу/возразить -- ради Бога. Я весь внимание...
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|