На базарной площади довольно часто можно слышать высказывания об
Обероне. Мне кажется, что на базарной площади пора появиться ветке об
этой системе и языке, что-то вроде "Мысли об Обероне". Что это такое, перспективы
этой системы, что
полезного можно извлечь из него для программирования на Дельфи
(например) и др.
Ivan
Всего в теме 4531 сообщение
Ссылки по теме "Оберон" и "Компонентный паскаль"
Отслеживать это обсуждение
- Free Pascal, Oberon, BlackBox
- Разработка препроцессора gpre для delphi\freepascal.
- Component Pascal и среда разработки BlackBox
- FreePascal: реальная альтернатива или OpenSource — блажь?
№ 4061 22-12-2005 00:52 | |
Ответ на »сообщение 4045« (hugi)
Вот ещё один пример неоднозначного толкования терминов. Если там и есть типы, то это совсем не те типы, что в паскале и т.п. А уж словосочетание "тип переменной" вообще лишено смысла.
№ 4060 22-12-2005 00:32 | |
Ответ на »сообщение 4056« (SAGE)
___________________________
Спасибо,
Pow безусловно интересная вещь и многие идеи Droplet близки к идеям Pow, но модель исполнения Pow нам не нравится. Pow предлагает две модели исполнения - либо "школьная", пригодная только для обучения, когда вывод идет в предопределенное окно, что явно не годится для промышленной программы, либо надо все программировать на Win32. Плюс в Pow нет динамической загрузки модулей и стандартная библиотека (Opal) слишком мала. А в общем, хороший продукт.
№ 4059 21-12-2005 23:51 | |
Ответ на »сообщение 4042« (Takun)
___________________________
Угу... и называться все это будет Unix.
Не-а... QNX! :o)
По очень простой причине. Вернее - двум.
1. Микроядро (настоящее, а не из рекламных фанфар).
2. Наличие механизма обмена сообщениями (встроенного в оное микроядро, а не как очередной "довесок" в системе).
Но, собсна говоря, QNX в основе своей на юникс не похож. Они, скорее очень красиво её эмулируют с помощью кучи кода.
Да и из "классики" Юникс (ну, те, кто рискует себя Юниксом называть), заявленным свойствам полностью удовлетворяют штуки три... :о)
№ 4058 21-12-2005 15:51 | |
Ответ на »сообщение 4055« (Горбунов-Посадов)
___________________________
Именно этим, вероятно, объясняется то, что Вы при цитировании сняли выделение со слова "мотивы", и далее это слово осталось практически незамеченным. А Ваша концовка оказалась для меня совершенно неожиданной: я нигде не упоминал "головного модуля", тема эта мне неинтересна, почему она всплыла -- не понимаю... Постараюсь изъясняться почетче.
Я понимаю акцент на слово мотивы. И понимаю, что в зависимости от мотивов можно и вести соответствующую классификацию модулей, выявлять их новые виды и формы.
Дело не в иерархии. Ее может и не быть. Не в привязке к модулям-классам. Дело в термине. Есть модуль и есть модуль. Два одинаковых слова -- два разных значения. Омонимы.
Именно поэтому я использовал прилагательные языковой, операционный и архитектурный.
Модуль -- выделенная по тем или иным мотивам часть программы.
Если брать языковой модуль и модуль в том определении, которое было приведено, то можно выяснить два момента:
1. Ваше определение очень общее и в этом отношении мало помогает в понимании сути языкового модуля. Оно не позволяет его отличить от других сущностей, от других частей программы.
2. В Обероне нет программы. Формально ее попросту нет. Поэтому выделять часть программы там негде. Опять-таки формально.
На мой взгляд, языковой модуль является наивысшей синтаксической и семантической сущностью (формой, конструкцией) в языке программирования, которая включает любые другие сущности, но не включает самое себя. Это более жесткое требование, чем просто -- единица компиляции. И это -- не просто "часть программы", пусть и выделенная по тем или иным мотивам. Но это не значит, что указанного требования наивысшей формы достаточно.
Просто при такой трактовке языкового модуля на задний план отходят уникальность, инкапсуляция, экспорт-импорт, интерфейсы, полиморфизм, наследование и иже с ними.
№ 4057 21-12-2005 15:39 | |
Ответ на »сообщение 4047« (Sergei)
___________________________
Спасибо, интересно.
№ 4056 21-12-2005 14:59 | |
№ 4055 21-12-2005 14:41 | |
Ответ на »сообщение 4032« (Руслан Богатырев)
___________________________
Модуль -- выделенная по тем или иным мотивам часть программы.
Ключевое слово здесь -- мотивы. Добиваетесь наглядности -- получаете одни модули, экономите время трансляции -- другие, хотите расширяемости -- третьи, многократной используемости -- четвертые, хотите втиснуть программу в область памяти, размер которой меньше размера программы, -- пятые и т.д. Конечно, хочется, чтобы модуль порадовал нас сразу всеми своими возможными полезными качествами, но тут мы переходим уже к другой теме...
На мой взгляд, проблема в том, что модулем можно назвать едва ли не все на свете: "выделенная по тем или иным мотивам часть программы" никоим образом не регламентирует требования к такой части (а тем более к ее сопряжению с другими частями).
Вот и получается, что кусок текста, облаченный в форму макроса -- это тоже модуль. Если мы берем произвольный фрагмент текста (напр., блок в понимании, скажем, Паскаля), то получится, что это тоже модуль.
Выходит, что такое восприятие модулей дает крайне мало для анализа и синтеза программных систем в контексте того, что существуют в природе языки модульного программирования, где уже есть конкретная сущность с именем модуль.
Что вытекает из приведенного определения? Программа -- это модуль. Любой фрагмент (часть) программы -- это модуль. Любой фрагмент фрагмента -- тоже модуль.
При этом в Обероне нет программы, нет даже выраженного главного (головного) модуля, есть только равноправные модули. Как это согласуется с принятым определением? Увы, с большим трудом, если согласуется вообще.
Уважаемый Руслан Петрович!
По-видимому, я вновь неаккуратно выразился. Приношу извинения. Именно этим, вероятно, объясняется то, что Вы при цитировании сняли выделение со слова "мотивы", и далее это слово осталось практически незамеченным. А Ваша концовка оказалась для меня совершенно неожиданной: я нигде не упоминал "головного модуля", тема эта мне неинтересна, почему она всплыла -- не понимаю... Постараюсь изъясняться почетче.
Попробую заострить свое определение. Если нас влекут мотивы удобочитаемости, наглядности, систематической разработки (важнейшие мотивы, не подумайте, что я их недооцениваю), то дорога вполне может привести к иерархии, к модулям-классам. Если же прицельно замахнуться на мотивы изменяемости, расширяемости, многократного использования, то иерархия уходит на второй план, можно усомниться в полезности класса и попытаться предложить в качестве модуля что-то иное.
№ 4054 21-12-2005 14:26 | |
Ответ на »сообщение 4051« (Руслан Богатырев)
___________________________
Ответ на »сообщение 4044« (Takun)
___________________________
Если же B не импортирует А непосредственно, а получает указатель на Inc, то ситуация усложняется. 1 - счетчик = 0; 2 - значение счетчика сохраняется; 3 - значение счетчика = 0;
В первом случае мы имеем висячий указатель на Inc.
Интересное уточнение.
Вы эти все варианты проверяли в BlackBox? А в ETH Oberon? Или вообще не проверяли, а просто знаете по опыту работы?
Не проверял. Насколько я знаю, это один из 2 официальных способов убить Оберон ОС, второй - переполнение стека. В Ящике этим оправдывается устарелость (в связи с небезопасностью) указателей на функции.
А как насчет самих языков? В описаниях что-нибудь про эти нюансы сказано? Как-никак одна из важных особенностей, едва ли не одно из конкурентных преимуществ Оберонов.
:(. На сколько я знаю, в дубовые требования к среде исполнения входит динамическая загрузка модулей. Про выгрузку ничего не говорится. Я, ксати, несколькими сотнями постов на это жаловался уже.
P.S. В ящике уже проверил, illegal execution trap. Можно и ETH глянуть (хотя какой их них?) но смысла наверно особого нет.
№ 4053 21-12-2005 12:56 | |
Ответ на »сообщение 4052« (Руслан Богатырев)
___________________________
Ответ на »сообщение 4050« (ASU)
___________________________
Воинствующая демагогия
Ого!.. Лозунги обычно используются тогда, когда нет аргументов. Сие показательно...
Уровень вашей культуры ведения дискуссии лично мне понятен. Природа хамства, как известно, в безнаказанности.
Хамства? То есть, если Вас ткнули носом в собственную безграмотность, то... это, конечно, хамство... :)
Если такое поведение -- обычное явление в Королевстве, тогда видимо просто придется сказать всем большое спасибо и на том расстаться.
Дверь хлопнула... Увы... Хотя вряд ли "мое поведение" является обычным для Королевства...
№ 4052 21-12-2005 12:51 | |
Ответ на »сообщение 4050« (ASU)
___________________________
Воинствующая демагогия.
Хотя... На каждый чих не наздравствуешься.
Уровень вашей культуры ведения дискуссии лично мне понятен. Природа хамства, как известно, в безнаказанности.
Если такое поведение -- обычное явление в Королевстве, тогда видимо просто придется сказать всем большое спасибо и на том расстаться.
Отслеживать это обсуждение
Дополнительная навигация: |
|