Оберон-технология: особенности и перспективы |
Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение.
Всего в теме 6256 сообщений
Добавить свое сообщение
Отслеживать это обсуждение Обсуждение из раздела Школа ОБЕРОНА
№ 106 16-06-2006 01:08 | |
Ответ на »сообщение 105« (info21)
___________________________
Еще: главные проблемы в форумах -- из-за разного рода клеветы и домыслов.
Должны допускаться только точные цитаты и конкретные ссылки. Все остальное -- безжалостно банить по первому требованию.
Требованию кого?
Вообще, по моему для предотвращения большенства бессмысленных споров у ругани на этих форумах достаточно запретить Руслану Богатыреву упоминать прямо или косвено в своих сообщениях осподина info21, и наоборот господину info21 запретить упоминать прямо или косвено Руслана Богатырева.
Вообще, существует достаточно отлаженая система предотвращения и прекращение личной переписки и ругани в эхах без удаления спорных сообщений. Делается просто - за каждое письмо несоответствующее тематике, оскорбляющее кого-либо, являющееся провокационным, либо же являющееся ответом на какое либо из вышеперечисленых типов писем, отвечающий/пишущий получает от модератора плюсик "[+]". Формула такова: [+]+[+]+[+]=[!], где [!] перевод подписчика в режим "только чтение" на определенный срок. Обычно (для первого раза) на месяц. При рецидиве - на полгода. При повторном рецидиве - бессрочно.
№ 105 16-06-2006 00:57 | |
Еще: главные проблемы в форумах -- из-за разного рода клеветы и домыслов.
Должны допускаться только точные цитаты и конкретные ссылки. Все остальное -- безжалостно банить по первому требованию.
№ 104 15-06-2006 22:18 | |
Ответ на »сообщение 93« (1)
___________________________
Ответ на »сообщение 92« (Антон Григорьев)
___________________________
Абсолютно согласен и поддерживаю....
Налицо конфликт между двуми лицами, причем на второе лицо "нападает" не только info21, но и другие лица, например
Руслан Богатырев - врун! Сергей Губанов
Ветка превратилась в место сведения счетов.
Я уже выражал свое мнение: любой пост с намеком, подобным тому, какие постоянно позволяет себе Руслан, нужно немедленно банить.
Иначе -- публичную ложь нельзя же оставлять без ответа, вот и получается перепалка.
А насчет "нападений" С.Губанова -- так, уважаемый 1, у Вас тоже есть пост, который по смыслу эквивалентен приведенному высказыванию С.Губанова.
№ 103 15-06-2006 22:12 | |
Ответ на »сообщение 91« (Руслан Богатырев)
___________________________
Руслан -- клеветник.
№ 102 15-06-2006 10:09 | |
Ответ на »сообщение 101« (Mirage)
___________________________
Что Вы имеете в виду?
Switch, он же case заметно быстрее множества проверок, ибо реализуется обычно посредством таблицы переходов. Получается один переход вместо всех сравнений в обработчике сообщений.
Да, но при условии "плотности" списка констант.
Применительно к огромному (и потому "рассеянному") количеству сообщений Windows, это неприменимо, ИМХО.
№ 101 15-06-2006 09:41 | |
Ответ на »сообщение 99« (AVC)
___________________________
Да и в программирововании для Windows на Си: switch -- только видимость...
Что Вы имеете в виду?
Switch, он же case заметно быстрее множества проверок, ибо реализуется обычно посредством таблицы переходов. Получается один переход вместо всех сравнений в обработчике сообщений.
Причем, т.к. в Delphi есть метаклассы и явно заданное значение переменной типа метакласс есть в принципе константа, то в принципе можно было бы сделать возможность использовать метаклассные константы в качестве вариантов оператора case. Но в Borland Вирта видимо не читают...
Кстати в Delphi IS - не самый быстрый оператор. Он проходится с проверками по всей иерархии вплоть до базового класса.
Поэтому я использую конструкцию if Msg.ClassType = TMessage then .../Code]
№ 100 15-06-2006 08:15 | |
Ответ на »сообщение 79« (Takun)
___________________________
В Церновской лекции Гутхнехт сказал, что понятие purity характеризует Оберон лучше, чем simplicity.
Так что не все так просто ;-)
Интересно.
В частности, там дается такое определение:
Purity -- a quantitative assessment of homogeneity or uniformity.
№ 99 15-06-2006 08:01 | |
Ответ на »сообщение 83« (Mirage)
___________________________
Оператор IS в Обероне проверяет является ли тип v типом T, либо унаследованным от T. Тут одним сравнением врядли можно обойтись. Или упомянутая Вами хитрость как раз это и позволяет? Так в любом случае это зависит от реализации.
Гораздо уместнее (да и безопаснее, если есть иерархия сообщений) пользоваться оператором WITH.
Действительно достаточно одного сравнения. :)
В упоминавшейся здесь презентации Гуткнехта "Oberon: The Power of Purity" приводится много примеров машинного кода для обероновских конструкций.
Вот пример для type guard x(T):
CMP x.tag.TD[lev],ADR(TD(T))
BNE trap
где lev = TypeLevel(T) (известно во время компиляции).
Что касается зависимости от реализации, то для Оберона дескриптор типа -- все равно что таблица виртуальных функций для C++.
Основа остается общей для всех реализаций.
Согласитесь, для динамического определения типа -- это очень эффективно.
Т.е. в языке Обероне мы имеем надежный (type-safe) и эффективный механизм для поддержки технологии программной шины.
С эффективностью было бы лучше, если бы для определения типа сообщения можно было бы использовать оператор CASE. К сожалению, ни в Delphi, ни в Обероне это невозможно, хотя при большом количестве сообщений это может быть заметно эффективнее.
Да и в программирововании для Windows на Си: switch -- только видимость...
№ 98 15-06-2006 06:02 | |
Ответ на »сообщение 95« (1)
___________________________
Вы можете выложить любой модуль на любой сайт, но если вы преобразуете его в формат понятный скажем для SVN, то для потребления данного модуля кем-то другим его придется преобразовывать обратно в формат понятный целевой системе. Смысл такого двойного преобразования непонятен, тем более что в одной из систем (Bluebottle) уже есть SVN-клиент.
Вообще то, SVN, в отличае от CVS, может вести не только текстовые, но и бинарные файлы. Т.о. каких-либо проблем я не вижу.
№ 97 15-06-2006 05:42 | |
Ответ на »сообщение 95« (1)
___________________________
Этого я не понимаю. Но на всякий случай повторяю - в Оберон-системах есть по крайней мере четыре концептуально разных формата хранения исходных модулей (файлов, у которых первая строка "MODULE ...").
Любые рассуждения без указания о каком формате вы говорите просто висят в воздухе.
Я сказал, что все эти форматы, со всеми их возможностями можно заменить на XML или XML-подобный.
Видите? Сразу ко всем форматам относится. Так что можно и без указания.
Вы можете выложить любой модуль на любой сайт, но если вы преобразуете его в формат понятный скажем для SVN, то для потребления данного модуля кем-то другим его придется преобразовывать обратно в формат понятный целевой системе. Смысл такого двойного преобразования непонятен, тем более что в одной из систем (Bluebottle) уже есть SVN-клиент.
И я о том же. Непонятен смысл.
Добавить свое сообщение
Отслеживать это обсуждение
Дополнительная навигация: |
|