Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение  Обсуждение из раздела Школа ОБЕРОНА
№ 1326 27-12-2006 11:59 |  |
Ответ на »сообщение 1325« ()
___________________________
>>>Так что модули в "железках" и модули в "софте" это вещи вполне адекватные.
Давайте посмотрим на использование модульного подхода в технике...
Вы модульные самолеты встречали? Вот поезда, они точно модульные :)
Кстати, сейчас ведутся ожесточенные споры вокруг немодульных поездов - они должны быть гораздо экономичнее.
Не так уж сильно модульный принцип распостранился в технике.
Есть у него, кроме достоинств, еще и недостатки.
И это недостатки понятные - высокие накладные расходы на соблюдение всех требований интерфейсов.
Так, что и в программировании вовсе не обязательно модульный=лучший.
Модульность "по горячему" важна может быть для серверов 7х24, а для прикладных задач она вовсе не дает преимуществ.
"Без перекомпиляции" это зачем? Чтобы соблюдать права автора. А еще зачем такой принципиальный "не опен соурс"? Может время компиляции стало недопустимо большим?
Давайте без фанатизьму.
№ 1325 27-12-2006 11:26 |  |
Ответ на »сообщение 1323« (Jean)
___________________________
1) Являются единицами компиляции (и, соответственно, представляют собой отдельные и самостоятельные файлы бинарного кода). У меня есть ощущение, что Питон интерпретируемый язык. Если это так, то он отпадает сразу.
Я все понимаю, но требование бинарности откуда взялось??? Питон генерит какие-то бинарные файлы, но меня они никогда не волновали.
2) Являются самостоятельными единицами для динамической загрузки и выгрузки.
Тоже интересное требование. Т.е., статические системы не могут быть модульными в принципе? Вспоминая твою аналогию из техники - если я не могу вытащить винчестер не выключая PC, то PC нифига не модульный?
Приведешь мне кусок кода на C# или Яве, в котором сначала импортируется модуль, а потом выгружается.
Ну динамическая загрузка - всю жизнь была. А осмысленность явной выгрузки в присутствии GC я не очень понимаю (никогда не возникало желания делать это руками).
Извини, приятель, что я с тобой на "ты", хотя с незнакомыми людьми стараюсь придерживаться определенных правил. Первый начал, а намеков не понял. Или может ты иностранец, там вроде ко всем на "you".
Фидошная привычка. Если тебя парит - буду на Вы. Сообщение не подписано
№ 1324 27-12-2006 11:23 |  |
Ответ на »сообщение 1323« (Jean)
Приведешь мне кусок кода на C# или Яве, в котором сначала импортируется модуль, а потом выгружается. И все это динамически и без перекомпиляции.
В догонку: а вместо выгруженного модуля загружается другой (например, от другого производителя). Но это ещё не всё - надо чтобы эти самые модули поддерживались самим языком (не говоря уже о системе времени исполнения этого языка - проверке целостности импортированных/экспортированных сущностей и т.п.). А то ещё сейчас аналог этого на Си приведёте где в качестве модулей возьмёте обычные win32 dll-ки, такой пример не прокатит.
№ 1323 27-12-2006 10:45 |  |
>>>Чем даже в такой трактовке модули Python/Java/C# - не модули?
Ну, что ты так прицепился :)
Конечно, они модули если:
1) Являются единицами компиляции (и, соответственно, представляют собой отдельные и самостоятельные файлы бинарного кода). У меня есть ощущение, что Питон интерпретируемый язык. Если это так, то он отпадает сразу.
2) Являются самостоятельными единицами для динамической загрузки и выгрузки.
Приведешь мне кусок кода на C# или Яве, в котором сначала импортируется модуль, а потом выгружается. И все это динамически и без перекомпиляции. Тогда я скажу честно, старею, не за всем успеваю следить. Вот они истинно модульные языки нового поколения.
P.S.
Только чур вещи типа "using System;" не предлагать. Это импорт не модулей в смысле "Вирта", а пространств имен в смысле Микрософта. А namespace и module это две большие разницы.
P.P.S.
А насчет демагогии ты зря. Модуль как понятие не из программирования в технику пришел, а, скорее, наоборот. Сначала в технике был осознан принцип модульной архитектуры и взаимозаменяемости законченных функциональных узлов, а уже оттуда эти стратегические идеи стали проникать в программную индустрию. Так что модули в "железках" и модули в "софте" это вещи вполне адекватные.
P.P.P.S.
Извини, приятель, что я с тобой на "ты", хотя с незнакомыми людьми стараюсь придерживаться определенных правил. Первый начал, а намеков не понял. Или может ты иностранец, там вроде ко всем на "you".
№ 1322 27-12-2006 10:03 |  |
>>>Вообще там написано Pascal (some derivatives)
Сорри. Не заметил скобочки. Но это уже не важно. В языке Паскаль образца 1970 года любой блок кода "оформляется специальным образом". Значит, даже классический Паскаль - это язык модульного программирования. И чего это Вирт старался, какую-то Модулу с Оберонами делал. На модульном языке Фортран можно было бы уже и закончить всю эту возню с модульным программированием.
№ 1321 27-12-2006 09:59 |  |
Ответ на »сообщение 1317« (Jean)
___________________________
>>>Теперь любой язык программирвоания можно объявлять модульным.
К сожалению это так - вот к чему приводит использование широкоупотребимого термина в новом узком смысле :(
Придется постоянно делать оговорку вроде "модульный по Вирту".
"Прошу понимать меня в пиквикисском смысле"(с)
№ 1320 27-12-2006 09:56 |  |
Ответ на »сообщение 1316« (Jean)
___________________________
"Модуль - в радиоэлектронике, функционально законченный узел радиоэлектронной аппаратуры, оформленный конструктивно как самостоятельное изделие. ... Применение модулей сокращает сроки проектирования аппаратуры, удешевляет ее изготовление, упрощает эксплуатацию, облегчает ремонт" - Энциклопедический словарь "Терра-лексикон", М."Терра",1998г. (а кто ты такой?).
К чему это я?
Ты привел аналогию из мира электроники. Теперь ты будешь ее трактовать применительно к программированию. Это называется демагогия. На да ладно. Чем даже в такой трактовке модули Python/Java/C# - не модули?
P.S.
Разговор на уровне "а ты кто такой" не приемлю даже в электронной форме, поэтому реагировать на реплики господина pepper больше не буду.
Если ты не собираешься как-то обосновывать свои совсем даже неочевидные тезисы/определения, общения действительно не получится.
№ 1319 27-12-2006 09:52 |  |
>>>Какой конкретно части этого определения не удовлетворяют пакеты java
Вот видите, как все запущено в этой Яве, даже Вы запутались в области терминологии :) Если пакеты Java, по-Вашему, это "модули", то что тогда такое "модули компиляции"? "Пакеты" и "модули компиляции" в Яве - это, очевидно, разные понятия?
№ 1318 27-12-2006 09:35 |  |
Ответ на »сообщение 1312« (Антон Григорьев)
___________________________
Тем не менее, если статья в википедии утверждает, что в Паскале есть модули, такой статье однозначно верить нельзя.
Вообще там написано Pascal (some derivatives)
№ 1317 27-12-2006 09:33 |  |
Совсем забыл одну забавную вещь.
Не нравится "мое определение" вот в сети лежит другое, просто гениальное:
"Модуль (Module) - оформленный специальным образом блок кода"
http://www.whatis.ru/glos/r12.shtml
Класс! Теперь любой язык программирвоания можно объявлять модульным. Ведь в любом языке блок кода оформляется специальным образом.
Добавить свое сообщение
Отслеживать это обсуждение 
Дополнительная навигация: |
|