Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение  Обсуждение из раздела Школа ОБЕРОНА
№ 1336 28-12-2006 00:20 |  |
Ответ на »сообщение 1335« (Jean)
___________________________
У Явы, пожалуй, безопасность дотягивает до уровня Оберонов.
У жабы безопасность выше за счет того, что там нет SYSTEM.
А у C# она (безопасность) все-таки ниже.
В честь чего? Насколько я знаю, использование unsafe-модулей там контроллируется, в отличие, например, от использования SYSTEM в BlackBox.
У С.Свердлова есть хорошая статья на эту тему, если будет время, найду, дам ссылку.
OK.
>>>Что касается уровня реализации модулей, их простоты и надежности, то лично
>>>мне неочевидно, что она у оберонов заведомо лучше
Не заведомо лучше, а просто лучше :)
Понятно.
№ 1335 28-12-2006 00:14 |  |
>>>обвинения в недостаточной безпопасности тоже отпали?.
Питон я не знаю. У Явы, пожалуй, безопасность дотягивает до уровня Оберонов. А у C# она (безопасность) все-таки ниже. У С.Свердлова есть хорошая статья на эту тему, если будет время, найду, дам ссылку.
>>>Что касается уровня реализации модулей, их простоты и надежности, то лично
>>>мне неочевидно, что она у оберонов заведомо лучше
Не заведомо лучше, а просто лучше :)
№ 1334 28-12-2006 00:05 |  |
Ответ на »сообщение 1333« (Jean)
___________________________
Проблема не в том, есть ли модули в разных языках или нет. Проблема в том, какие проблемы модульность решает и на каком уровне реализована.
Все началось с того, что Вы не захотели причислять C#/Java/Python к числу языков, поддерживающих модульное/компонентное программирование. Достаточное серьезное обвинение, когда речь заходит о сравнении языков "по четко определенным критериям" (кстати, я так понимаю обвинения в недостаточной безпопасности тоже отпали?). Что касается уровня реализации модулей, их простоты и надежности, то лично мне неочевидно, что она у оберонов заведомо лучше.
№ 1333 27-12-2006 23:24 |  |
>>>Вы модульные самолеты встречали?
Я, конечно, не специалист по самолетам, но у меня всегда было ощущение, что если у самолета возникли проблемы с двигателем или каким-то прибором управления, то в этом случае меняют только вышедший из строя модуль, т.е. двигатель или прибор, а не выбрасывают весь самолет на помойку. Если я не прав, то извините, не знал...
>>>И тогда получается, что в Modula/2 и Ada нет модулей? И в Haskell, ML-
>>>family модулей тоже нет? :о))
Сдаюсь :))) Модули есть везде. Ну и что из этого следует? Мы так увлеклись этой темой, что создается впечатление, что все языки надо делить исключительно по факту их модульности. Есть модули - значит хороший язык, нет - значит плохой. Проблема не в том, есть ли модули в разных языках или нет. Проблема в том, какие проблемы модульность решает и на каком уровне реализована. Мое мнение - уровень реализации "модульной концепции" в Оберонах достаточно высок, а форма реализации проста и надежна. Вот и все. И от того, что в других языках тоже что-то реализовано на основе этой же концепции суть дела не меняется. Мы же не дети, чтобы после этого дружно кричать "Оберон - барахло, C# - форэва" (также, впрочем, как и обратное :) ).
№ 1332 27-12-2006 22:39 |  |
№ 1331 27-12-2006 22:29 |  |
Ответ на »сообщение 1329« (Илья Ермаков)
___________________________
Ответ на »сообщение 1325« ()
___________________________
Откомпилировали, тут же загрузили, интегрировали в среду, потестировали, выгрузили, исправили, загрузили снова.
Посмотри на IDEA (IDE для жабы такая). Я не представляю как сделать то, что она вытворяет, без той динамики, о которой ты говоришь. Как именно она это делает - никогда не копал, так как не надо было. А еще есть Smalltalk (который был до всяких оберонов), который тоже ориентирован на такой подход к разработке.
P.S. Почему то, что ты описал, невозможно без явной выгрузки модулей, я так и не понял.
№ 1330 27-12-2006 22:26 |  |
Ответ на »сообщение 1327« (Антон Григорьев)
___________________________
Ответ на »сообщение 1318« (Trurl)
___________________________
Вообще там написано Pascal (some derivatives)
Действительно написано. Но у меня чёткое воспоминание, что когда я смотрел первый раз, этого не было, а я редко в таких вещах ошибаюсь. Может, как раз сейчас и подправили?
Да ;)
№ 1329 27-12-2006 17:35 |  |
Ответ на »сообщение 1325« ()
___________________________
Ответ на »сообщение 1323« (Jean)
___________________________
Ну динамическая загрузка - всю жизнь была. А осмысленность явной выгрузки в присутствии GC я не очень понимаю (никогда не возникало желания делать это руками).
Это позволяет разрабатывать, выполнять, отлаживать, конфигурировать разрабатываемые модули в единой среде. Откомпилировали, тут же загрузили, интегрировали в среду, потестировали, выгрузили, исправили, загрузили снова. Объяснять на словах и тосложнее, чем попробовать тот же Блэкбокс... В двух словах суть такова: ощущение, что работаем на интерпретаторе, потому что "на лету" можно сделать все, в рамках единого пространства; при этом 100%-компиляция. Аналогов Оберонам в этом аспекте нет. .NET, "развивая" идеи Оберонов, потерял очень важное - возможность динамической подмены компонент "на горячую". Поэтому то же Блэкбокс повторить на .NET без сложных извращений невозможно.
№ 1328 27-12-2006 16:15 |  |
Ответ на »сообщение 1323« (Jean)
___________________________
"Модуль - это контейнер для ресурсов программы, который является самостоятельной единицей компиляции, загрузки и выгрузки."
А разве все реализации Оберона позволяют динамически загружать/выгружать модули?
XDS, OOC, Pow! - позволяют? Они же статически связывают программу в один exe-файл...
И тогда получается, что в Modula/2 и Ada нет модулей? И в Haskell, ML-family модулей тоже нет? :о))
Конечно, они модули если:
1) Являются единицами компиляции
Предлагаю внести поправку - "Являются единицами трансляции".
2) Являются самостоятельными единицами для динамической загрузки и выгрузки
Динамическая загрузка/выгрузка - это скорее свойство компонентов, построенных на базе модулей, то есть свойство вышестоящей абстракции...
Или может ты иностранец, там вроде ко всем на "you".
Да вроде нет - в некоторых странах на "vous", "voi, Lei, Voi", "vosotros, os, vos, Usted", "ihr, Sie" - Лингво.Яндекс.Рулит :о))
И ещё десятки тысяч вариантов...
№ 1327 27-12-2006 13:12 |  |
Ответ на »сообщение 1318« (Trurl)
___________________________
Вообще там написано Pascal (some derivatives)
Действительно написано. Но у меня чёткое воспоминание, что когда я смотрел первый раз, этого не было, а я редко в таких вещах ошибаюсь. Может, как раз сейчас и подправили?
Добавить свое сообщение
Отслеживать это обсуждение 
Дополнительная навигация: |
|