Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение Обсуждение из раздела Школа ОБЕРОНА
№ 1256 25-12-2006 00:22 | |
Ответ на »сообщение 1255« (Антон Григорьев)
Ну хоть кто-то смог наконец внятно объяснить, чем мой любимый перечислимый тип мешает Оберону! А то сколько ни спрашивал местных гуру раньше...
Это было объяснено в статье Вирта "От Модулы к Оберону" (1990): Тип перечисление слишком простое средство, чтобы выйти из-под контроля. Однако, оно не позволяет распространять расширяемость за пределы модуля. И либо нужно ввести средство для расширения типа перечисление, либо же от типа перечисление надобно отказаться.
№ 1255 23-12-2006 11:16 | |
Ответ на »сообщение 1253« (Илья Ермаков)
___________________________
В частности, диапазонные и перечислимые типы - если в языке с динамической модульностью мы изменим такой тип в одном из модулей, то все клиентские модули потребуют перекомпиляции. Именно поэтому в Обероне используется INTEGER с константами - это дает расширяемость без перекомпиляции.
Ну хоть кто-то смог наконец внятно объяснить, чем мой любимый перечислимый тип мешает Оберону! А то сколько ни спрашивал местных гуру раньше, самое толковое объяснение, которое я от них услышал, было "при импорте перечислимого типа вместе с именем типа неявно импортируются идентификаторы, в него входящие, а неявный импорт не есть гуд". Но как-то не выглядело это убедительной причиной. Теперь, наконец-то, всё стало понятно. Спасибо, Илья!
№ 1254 23-12-2006 09:56 | |
По поводу параллельного ядра Active BlackBox - еще в понедельник бета-версия опубликована на blackbox.metasystems.ru, на bbforum.metasystems.ru открыт раздел для обсуждений.
У беты есть периодически возникающий баг при выполнении на многоядерных/гипертреад-машинах, буду устранять чуть позже.
Интересно мнение коммюнити о введенных концепциях.
№ 1253 23-12-2006 09:50 | |
Ответ на »сообщение 1242« (Иван Левашев)
___________________________
По поводу Ады.
По моему мнению, это очень хороший язык, который может стать полностью эквивалентной заменой С++ в тех задачах, где нужны, например, шаблоны и т.п.
Ада по сравнению с Оберонов является языком предыдущего поколения, т.к. не является языком компонентного программирования. В Ада-системах нет динамической загрузки модулей и полноценной сборки мусора. Только не надо возвражать, что это вопрос среды, а не языка. Язык не позволяет динамическую загрузку модулей из-за более навороченной модели пакетов по сравнению с модулями Оберона, из-за более сложной системы типов. С одной стороны, иерархические пакеты, мощная система подтипизации для элементарных типов и т.п. очень удобны, за что во многих задачах респект Аде, но с другой стороны, ради динамической модульности приходится от этого отказываться. В частности, диапазонные и перечислимые типы - если в языке с динамической модульностью мы изменим такой тип в одном из модулей, то все клиентские модули потребуют перекомпиляции. Именно поэтому в Обероне используется INTEGER с константами - это дает расширяемость без перекомпиляции. Аналогичная ситуация с безопасностью памяти и сборкой мусора - для этого из языка исключены вариантные записи, указатели могут указывать только на динамические объекты и т.п.
Оберон - язык одного поколения с Явой и Шарпом, более того - их прототип. Ада - превосходный язык, однако не ориентированный на компонентное программирование. Возможно, имеет смысл создать его диалект - Component Ada или нечто такое :-) А я так был бы не против иметь единую платформу выполнения на JIT-представлении Франца для языков Паскаль-семейства: Оберонов, Модулы, Ады - кроме обычных Паскалей, которые все есть уже двадцать лет как прошедший день.
№ 1252 22-12-2006 09:44 | |
Ответ на »сообщение 1247« (Как слышно? Приём!)
___________________________
>>>"Простота - критерий истины!"
Не истинности, а удобства использования: из двух теорий, одинаково успешно описывающих определенную область, выбирают ту, которая проще.
По моему тут уже цитировали Эйнштейна:"делай просто, как только можно. Но не проще."
№ 1251 22-12-2006 08:36 | |
Истинность - соответствие, адекватность действительности.
Истинность системы - соответствие построенной системы знания
исследуемой области.
А "бурлящесть протяжённости" - это, видимо, от пристального
взгляда на звёзды, господин Stargazer :) Надо сморгнуть.
Энергетиков с праздником!
№ 1250 22-12-2006 08:15 | |
Может мы имеем в виду разную сложность и простоту?
Я имею перед собой следующий образ: система состоит
из элементов-шариков и связей-пружинок между ними.
Их количество определяется тем, чтобы система внятно
работала, объясняя наблюдаемые факты.
Сложное - это где этих элементов и связей достаточно много.
При выходе на новое поле строятся новые (временные) связи
и элементы, которые для данной области должны быть признаны
непротиворечивыми. Пока Вы начинаете строить - берёте не все
и пока всё просто. Когда завершаете - появляется сложность.
Когда долго варитесь в построенной и исхоженной области -
появляется избыточность и излишества, как потенциал выхода.
За суперструны - пардон. Жил в одной комнате с теоретиками.
Уж очень они картинно выпучивали глаза и били себя по ляжкам
при разговоре о суперструнах. Не в свои сани не садись - увы мне!
Но мысль о том, что если теория сложна, то от неё надо
отказываться всё же не разделяю.
Оберон с динамически подгружаемыми модулями мне симпатичен
именно в связи с тем, что это созвучно моей модели исследований.
№ 1249 22-12-2006 07:06 | |
Ответ на »сообщение 1247« (Как слышно? Приём!)
___________________________
Вот они - всходы ядовитых семян теории интроспекции!
"Простота - критерий истины!"
Ежели какая теория (ex: суперструн) сложна - фтопку!
Ежели всю сложную систему современной науки
нельзя окинуть одним мысленным взором ...
На колени, зулусы!
Суперструны -- не теория, а quasi una phantasia. Как и С++.
Таких квази уна фантазий -- действительно, полная наука. Надо же людям ум показывать, а вперед науку толкнуть не очень-то... вот и сочиняют...
Нужно различать сложность настояще-объективную (закон Ома; Оберон), и сложность ятрогенных "мусорных знаний" (суперструны; С++).
Причем именно столкновение с настоящей объективной сложностью какой-нить реальной задачи вынуждает сознательно похерить глину и мусор, которые в некритичных случаях можно терпеть.
№ 1248 22-12-2006 05:58 | |
Ответ на »сообщение 1247« (Как слышно? Приём!)
___________________________
А по-моему, стоит разделять сложность и избыточность. Если со сложностью ещё можно как-то справиться, то избыточность - отягощает.
"Простота - критерий истины!" ...
Ежели всю сложную систему современной науки
нельзя окинуть одним мысленным взором
Э-э, истинность системы? Похоже на ядовитость процессуальности. Или бурлящесть протяжённости.
№ 1247 22-12-2006 01:20 | |
>>> чем сложнее(объемней, больше) задача,
>>> тем проще и меньше должен быть инструмент
Для начальных интервенций на сложное поле - да.
А потом, когда прийдётся строить синтетическое знание - совсем не очевидно.
А вообще-то не сложным и не простым априори, а адекватным.
К тому же сложный инструмент тянет с собой наработки для той задачи,
для которой он был заточен, а простой инструмент в этом смысле более стерилен.
>>> не удается одновременно оперировать ...
Так и не надо охватывать всё целиком и сразу (если без просветления),
не надо статически загружать все модули - не все готовы на новом-то поле,
не надо пытаться всё объяснять на одном базовом понятии или классе :)
Опять отказ от динамизма в исследовании, опять статика.
Вот они - всходы ядовитых семян теории интроспекции!
"Простота - критерий истины!"
Ежели какая теория (ex: суперструн) сложна - фтопку!
Ежели всю сложную систему современной науки
нельзя окинуть одним мысленным взором ...
На колени, зулусы!
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|