На базарной площади довольно часто можно слышать высказывания об
Обероне. Мне кажется, что на базарной площади пора появиться ветке об
этой системе и языке, что-то вроде "Мысли об Обероне". Что это такое, перспективы
этой системы, что
полезного можно извлечь из него для программирования на Дельфи
(например) и др.
Ivan
Всего в теме 4531 сообщение
Ссылки по теме "Оберон" и "Компонентный паскаль"
Отслеживать это обсуждение
- Free Pascal, Oberon, BlackBox
- Разработка препроцессора gpre для delphi\freepascal.
- Component Pascal и среда разработки BlackBox
- FreePascal: реальная альтернатива или OpenSource — блажь?
№ 3761 14-12-2005 07:29 | |
Ответ на »сообщение 3759« (al_mt)
___________________________
Лично у меня сложилось мнение, что "модульное программирование" - это технический приём предпринятый программистами прошлого (уже) для упрощения создания сложных, или вернее громоздких, систем.
Подход оказался удачным, и мы его до сих пор применяем уже на рефлективном уровне, не задумываясь.
Показательная мысль. Запараметризуем ее и подставим вместо "модульное программирование" -- ООП.
Что получится?
Лично у меня сложилось мнение, что ООП - это технический приём предпринятый программистами прошлого (уже) для упрощения создания сложных, или вернее громоздких, систем.
Подход оказался удачным, и мы его до сих пор применяем уже на рефлективном уровне, не задумываясь.
А неплохо, однако, получилось. Или ООП создавали программисты будущего? А, может, при его использовании все-таки приходится задумываться? Какое оно тогда нехорошое, это ООП. Задумываться заставляет.
№ 3760 14-12-2005 07:13 | |
Ответ на »сообщение 3759« (al_mt)
___________________________
МП - утилитарная вещь. Её достаточно просто применять "прогибая" под конкретную технологию программирования, в т.ч. ООП.
Это не плохо! Это хорошо! Даже в ООП мы применяем модульный подход! Что не так?
Здорово! Конечно здорово! Применяем подход, но не в курсе, что такое модуль. А зачем знать -- ведь есть подход.
А где, скажите, этот подход изложен, чтобы всех туда отсылать в случае сомнений? Скажите, не стесняйтесь. А если нет -- о чем мы тут вообще толкуем?
А, он сидит в головах! Каждый понимает в меру разумения. В меру того, что ему дает даже не язык, а среда. Великолепно.
Вы готовы согласиться с утверждением, что модульное программирование -- это парадигма, которая в этом смысле равноправна другим парадигмам -- структурному программированию, функциональному программированию, объектно-ориентированному программированию, аспектно-ориентированному программированию?
Да или нет?
№ 3759 14-12-2005 07:04 | |
Дык а что в этом плохого то? Лично у меня сложилось мнение, что "модульное программирование" - это технический приём предпринятый программистами прошлого (уже) для упрощения создания сложных, или вернее громоздких, систем.
Подход оказался удачным, и мы его до сих пор применяем уже на рефлективном уровне, не задумываясь.
С этой точки зрения понятна "немногословность общества" относительно МП - много ли страниц посвящено способам хвата гаечного ключа в справочнике по ремонту автомобилей?
МП - утилитарная вещь. Её достаточно просто применять "прогибая" под конкретную технологию программирования, в т.ч. ООП.
Это не плохо! Это хорошо! Даже в ООП мы применяем модульный подход! Что не так?
№ 3758 14-12-2005 06:36 | |
Ответ на »сообщение 3756« (Сергей Перовский)
___________________________
Почему две разных, непротиворечащих друг другу, характеристики языков программирования упорно противопоставляются друг другу?
Это две разные парадигмы. Да или нет? Да.
Они не противопоставляются, а сопоставляются. И это серьезная разница.
В условиях современных гибридных императивных языков ("мультипарадигматических", уж извините за такое нехорошее слово) возникает эффект доминирования одной парадигмы над другими. Я не зря аппелировал к чистым модульным языкам (в смысле чистым от ООП), чтобы там высветить эту концепцию ярче.
В чем выражается диктат и доминирование? В количестве литературы. В наборе и качестве средств, обеспечивающих поддержку парадигм в рамках современных систем программирования (IDE). В числе упоминаний в публично доступных в Интернете материалов -- сделайте ради интереса запрос "modular programming", а затем "OOP" и "object-oriented programming". Разница будет больше чем на два порядка. Выражается в нечетком выделении названии парадигм. Структурное программирование (тоже парадигма) -- выделена четко. ООП выделена четко. Модульное программирование -- нет (такое сочетание вы встретите нечасто).
О модулях говорят в обобщенном смысле. Данное обсуждение это явно показывает. Есть у массовой аудитории достаточно четкое понимание, что такое класс? Есть. А вот есть ли такое в отношении модуля? -- Нет.
Я не случайно говорил о модулях и модульном программировании в "классическом понимании" -- канонической Modula-2 (это вынужденная мера, чтобы хоть как-то зафиксировать почву для обсуждения).
Но со мной запросто здесь можно не согласиться и сказать, а почему именно какая-то там Modula? Нам нравится Eiffel (кстати, как у него с модулями?).
Модуль -- столь же затасканное понятие, как и объект. Раньше мы говорили "объекты программы", "объектный код". С появлением ООП слово перегрузилось смыслом. Как теперь выкручиваться, если хочется объединить под одним словом константы, переменные, типы? Сущности? А объектный код -- это что? Это все к вопросу о тех же модулях.
Модуль -- это все, где "что-то куда-то можно тыкнуть". Замечательно. Что же удивляться, что поклонники C++ возмущаются, когда говорят об отсутствии у C++ модулей? В их понимании -- есть. Требуется ли для модулей обязательно поддержка раздельной компиляции? Кто сказал, что требуется? Одни понимают так, другие иначе. И вот уже пространства имен становятся модулями, классы называют модулями (вспоминаю про инвалида-объекта нынешней дискуссии).
Вы готовы назвать классическую работу, в которой были бы четко изложены концепции модульного программирования (modular programming)? Работу, на которую можно было бы ссылаться и говорить -- вот оно как выглядит, это модульное программирование.
Если забыть про бесконечно упоминаемого Дэвида Парнаса (у которого в его известной работе просто наброски штрих-пунктирные), такую работу так сразу и не назовешь.
В разных языках что-то модульное есть -- есть. Можно применять? Можно. Спрашивается -- и чем мы недовольны? Занятная постановка вопроса, не правда ли?
Спросите навскидку 10 программистов, что такое модуль, а затем проведите эксперимент в отношении понятия класса. Результаты, думаю, будут очень и очень показательны.
№ 3757 14-12-2005 06:10 | |
№ 3756 14-12-2005 05:57 | |
Ответ на »сообщение 3751« (Руслан Богатырев)
___________________________
>>>Что безусловно доминирует на рынке, в сознании? Правильно, ООП.
Что, над чем и в чьем сознании доминирует?
Может ли физика доминировать над литературой?
Почему две разных, непротиворечащих друг другу, характеристики языков программирования упорно противопоставляются друг другу?
Должны ли программки быть модульными? Вовсе нет.
Должны ли программы быть модульными? Разумеется.
Должны ли программищи быть объектными и модульными? Еще бы.
Я так понимаю, Вы против использования объектного подхода там, где можно обойтись модульным? Тут есть две стороны. 1."Из пушки по воробьям"-ненужно использовать более мощный (и более сложный) механизм, там, где есть более простой. 2. А где еще можно набраться опыта в ООП, как не на задачах не очень большой сложности.
Никто не покушается на идеи модульности, как никто не покушается на идеи структурного программирования - это стало рутиной.
№ 3755 14-12-2005 05:53 | |
Ответ на »сообщение 3748« (Руслан Богатырев)
___________________________
Я вроде и не смешивал? Если смотреть на вопрос с чисто технологической точки зрения, то вообще нет ни какого вопроса. На том же дельфи, как уже заметил Сергей, можно писать и без ООП - как кому нравится.
Если говорить о "диктате среды", то... Ну скажем так, говорить о "навязывании Windows ООПшного подхода" это тоже самое, что заявлять о "навязывании микроконтроллерами применения ассемблерного кода" :)
Если говорить об организации производства приложений для ПЭВМ (не важно винды это, уних или яблоко), то индустрия своё слово сказала: ООП позволяет повысить конкурентоспособность конечного продукта - "прочее от лукавого" (с)
P.S. Заявлять о высоконравственных целях прикладного программирования - вообще смертный грех, "гордыня" называется...
№ 3754 14-12-2005 05:32 | |
И для тех, кто читает по немецки... :)
На сайте комании Oberon Microsystemы http://www.oberon.ch/ что-то написано про тесное сотрудничество с компанией Esmertec.
А в старой версии сайта (до того как BlackBox стал бесплатным) даже была инфа про JBOB и логотип соответствующий.
Даже что-то про „Oberon Mobile Platform“ пишут...
Улавливаете? :)
№ 3753 14-12-2005 05:10 | |
Ответ на »сообщение 3751« (Руслан Богатырев)
___________________________
Кстати, здесь весьма интересен подход, напрямую связанный с обсуждаемым -- компонентное программирование (component-oriented programming).
Не секрет, что компоненты трактуют весьма вольно -- что не удивительно: любая отчуждаемая вещь, имеющая интерфейс доступа, уже называют компонентой.
Из чего ее "лепят" -- из обычной библиотеки (DLL как форма), из класса/объекта, из модуля, из чего еще -- многим не важно.
Должна эта "отчуждаемая часть" быть обязательно в бинарном виде? Почему? Должна быть обязательно визуальной? Почему? Есть ли языки программирования, которые содержат в себе средства создания компонентов? Какие?
Вопросы, вопросы...
Модули затоптали толпы поклонников ООП. А что есть компоненты? Хороший вопрос.
№ 3752 14-12-2005 05:07 | |
Ответ на »сообщение 3738« (iZEN)
___________________________
И насчет Java...
Я не особый поклонник мобильных игрушек, но решил недавно посмотреть, что там за игры на мобилке...
И надо было видеть мое выражение лица, когда на, появившейся заставке я увидел http://esmertec.com/
Это та самая компания, все сотрудники которой из Цюрихского ETH :))) И та самая компания, в которой Вирт принимал непосредственное участие :)))
У них была на Oberon встраиваемая ОС, минимальное ядро которой весло всего 8 Kb. А с полным арсеналом приложений около 200 Kb. JBOD называлась...
Что то мне сдается, что там в мобилке не та Java, хотя чашка кофе на месте ;))))) Трудится там наш Oberon, выполняя всю грязную работу, как папа-Карло (Золушка тоже весьма кстати), а лавры получает Java :(
Отслеживать это обсуждение
Дополнительная навигация: |
|