Rambler's Top100
"Knowledge itself is power"
F.Bacon
Поиск | Карта сайта | Помощь | О проекте | ТТХ  
 Базарная площадь
  
О разделе

Основная страница

Группы обсуждений


Тематический каталог обсуждений

Архив

 
 К н и г и
 
Книжная полка
 
 
Библиотека
 
  
  
 


Поиск
 
Поиск по КС
Поиск в статьях
Яndex© + Google©
Поиск книг

 
  
Тематический каталог
Все манускрипты

 
  
Карта VCL
ОШИБКИ
Сообщения системы

 
Форумы
 
Круглый стол
Новые вопросы

 
  
Базарная площадь
Городская площадь

 
   
С Л С

 
Летопись
 
Королевские Хроники
Рыцарский Зал
Глас народа!

 
  
ТТХ
Конкурсы
Королевская клюква

 
Разделы
 
Hello, World!
Лицей

Квинтана

 
  
Сокровищница
Подземелье Магов
Подводные камни
Свитки

 
  
Школа ОБЕРОНА

 
  
Арсенальная башня
Фолианты
Полигон

 
  
Книга Песка
Дальние земли

 
  
АРХИВЫ

 
 

Сейчас на сайте присутствуют:
 
  
 
Во Флориде и в Королевстве сейчас  00:24[Войти] | [Зарегистрироваться]
Обсуждение темы:
Оберон-технология: особенности и перспективы


Тематика обсуждения: Оберон-технология. Особенности, перспективы, практическое применение. 

Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру


Всего в теме 6256 сообщений

Добавить свое сообщение

Отслеживать это обсуждение

Обсуждение из раздела
Школа ОБЕРОНА

<<<... | 4326—4317 | 4316—4307 | 4306—4297 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 195


№ 4316   22-04-2007 12:46 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 4310« (MS)
___________________________

Ассемблер и Оберон
В принципе -- да, но ассемблер - не 3GL, потому его упоминать не стал.


№ 4315   22-04-2007 12:31 Ответить на это сообщение Ответить на это сообщение с цитированием
Господа, смотрите сюда: 

»сообщение 4158« (ASU) «Oberon, в том виде, котором он есть сейчас хорошо реализует принципы структурного программирования, и потому его удобно использовать для написания подпрограмм и модулей. Но он нарушает системные принципы,  правильнее было бы сказать, что не запрещает нарушать системные принципы, не формирует культуру построения систем...
»сообщение 4237« (ASU) Рассмотрите бОльшие системы, там логика управления вынесена на отдельный уровень.
»сообщение 4209« (ASU) Но Оберон не соответствует требованиям ОТС и создавать на нем системы... проблематично...
»сообщение 4195« (ASU) Речь шла о ERP-системе.

То есть тезис очень простой: на Обероне проблематично создавать бОльшие системы, например, ERP.
Давайте вспомним, что такое ERP-система физически.
Предположим, что у нас транснациональная корпорация. Наверное, ее ERP-система будет насчитывать 10-ки тысяч компьютеров, соединенных гетерогенными сетями, территориально удаленных на тысячи километров, работающие по всему Земному шару в 24 часовых поясах. Легко ли такую систему написать на Обероне? Я не знаю.

Теперь самое главное! Какие ОС будут крутиться на тех десятках тысяч компьютеров? Скорее всего, это будет коктейль из Windows и Linux. И всё, что мы сможем написать – это отдельно взятый exe-шник, который при запуске будет крутиться в изолированном процессе ОС. И простое взаимодействие, выходящее за рамки этого процесса нивелирует все бонусы, которые предоставляет тот или иной язык программирования. Будь-то Оберон с модулями, C++ с шаблонами, ASM и Nemerle с макросами, или Enlarg c функциональностью и потоками…

Так причем здесь модули и способ их импорта? И вообще, причем здесь Оберон? Подставляйте вместо Оберона любой другой язык, на котором можно написать программу для компьютера, и по этой схеме его тоже можно опускать ниже плинтуса...

Вообщем, если что и обсуждать, так это не способ построения и реализации Систем на отдельно взятом языке, а способ и удобство создания отдельно взятого exe-шника на том или ином языке для конкретного класса задач. А построение распределенных программных (а вообщем случае – инженерных) систем, – тема действительно выходящая за приделы отдельно взятого языка.


№ 4314   22-04-2007 12:13 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 4312« (Илья Ермаков)
___________________________

Нет, Франц в Sun вроде не работает - или уже работает? :-) Он вроде бы занимается независимыми исследованиями по Ява-технологиям на базе какого-то американского университета.

Возможно, про это я из тем по Оберону почерпнул. Видимо напутал. Но ведь по Яве исследования-то!;)

Если и подниметесь, то абсолютно никакого преимущества не получите - это все равно, что автоматический декомпилятор с ассемблера в ЯВУ - высокоуровневой программы-то все равно не получите...

В данном случае преимуществ не надо. Надо чтобы уже написанное работало с новой виртуальной машиной и компилятором. Желательно, работало не хуже, чем раньше.
Хотя зачем вообще конвертировать? Пусть старый p-код выполняет старая машина. А деревья Франца - новая. Версии .NET вон как отличаются и ничего. Это я к тому, что обратная совместимость не является причиной неиспользования Сановцами деревьев Франца. Интересно почему тогда не используют?


№ 4313   22-04-2007 12:05 Ответить на это сообщение Ответить на это сообщение с цитированием
А вообще, это детали.
Вопрос был - не вызовет ли переход на JIT замедления.
А почему он должен вызвать? Из-за отложенной кодогенерации?
Ну так в большинстве "продвинутых" архитектур натив-компиляторов (GCC, инструментарий Excelsior и т.п.) фронт-енд и бэк-енд разделены промежуточным представлением - и это ничего кроме положительных эффектов не дает...

А пытаться строить оценки на сравнении с Явой некорректно - в Яве полным-полно других тормозов кроме байт-кода... В частности, ООП исключительно на куче...


№ 4312   22-04-2007 11:49 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 4311« (Mirage)
___________________________

Ответ на »сообщение 4309« (Илья Ермаков)
___________________________
Я знаю что такое синтаксические деревья Франца, а также то, что сам Франц работает в Sun.
Удивительно, что при всех возможностях, эти деревья не используются в Java. Значит есть причина. Интересно какая?
Обратная совместимость врядли тут играет роль, т.к. преобразовать p-код в дерево Франца можно.
А может уже используются?

Нет, Франц в Sun вроде не работает - или уже работает? :-) Он вроде бы занимается независимыми исследованиями по Ява-технологиям на базе какого-то американского университета.
А p-код в дерево Франца преобразовать нельзя - сами подумайте: основная идея деревьев Франца - сохранение высокоуровневой семантической информации. Как Вы из низкоуровневого представления подниметесь к более высокому уровню? Если и подниметесь, то абсолютно никакого преимущества не получите - это все равно, что автоматический декомпилятор с ассемблера в ЯВУ - высокоуровневой программы-то все равно не получите...


№ 4311   22-04-2007 11:11 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 4309« (Илья Ермаков)
___________________________

Франц в 1993 г. в диссертации "Динамическая кодогенерация - ключ к переносимому ПО" предложил промежуточное представление в виде очень компактного синт. дерева, которое позволяет Just-In-Time-кодогенератору сгенерировать максимально эффективный код для целевой платформы. Это уже много раз обсуждалось, сами можете посмотреть все материалы - Руслан ссылки даст...

Я знаю что такое синтаксические деревья Франца, а также то, что сам Франц работает в Sun.
Удивительно, что при всех возможностях, эти деревья не используются в Java. Значит есть причина. Интересно какая?
Обратная совместимость врядли тут играет роль, т.к. преобразовать p-код в дерево Франца можно.
А может уже используются?


№ 4310   22-04-2007 11:09 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 4308« (Руслан Богатырев)
___________________________


Язык Оберон -- универсальный язык программирования (3GL). Ненужность импорта обосновывается несоответствием принципам "системности" по ASU. При этом утверждается, что 3GL не важен для методологии и воплощения архитектуры (т.е. Бейсик и Оберон -- все едино).


Ассемблер и Оберон


№ 4309   22-04-2007 10:29 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 4305« (Mirage)
___________________________

Ответ на »сообщение 4275« (Илья Ермаков)
___________________________
Это как Java чтоли? Дык она производительностью не блещет, хоть и оптимизировали они компилятор по самое нехочу. В смысле денег много в это вложили.
IMHO одно из достоинств Оберона в том, что он компилируется в нативный код. И теоретически (при наличии хороших компиляторов) можно получить высокое быстродействие.

Нет, это не "как Ява". В Яве изначально использовался интерпретор примитивного, древнего как мир, P-кода для стековой машины (предложенного Виртом в 70-х для переносимости Паскаля). Хотя позднее в Яву ввели предкомпиляцию байт-кода в нативный код, все равно это не дает приемлемой эффективности, т.к. байт-код ориентирован на стековую машину и не может быть эффективно оптимизирован под регистровые CISC-процессоры.
Франц в 1993 г. в диссертации "Динамическая кодогенерация - ключ к переносимому ПО" предложил промежуточное представление в виде очень компактного синт. дерева, которое позволяет Just-In-Time-кодогенератору сгенерировать максимально эффективный код для целевой платформы. Это уже много раз обсуждалось, сами можете посмотреть все материалы - Руслан ссылки даст...


№ 4308   22-04-2007 10:28 Ответить на это сообщение Ответить на это сообщение с цитированием
В свете дискуссии видятся два тезиса:
1. Механизм экспорта-импорта нужен языку Оберон
2. Механизм экспорта-импорта не нужен языку Оберон

Если тезис (1) сомнению не подвергается -- нечего обсуждать. Если подвергается, переходим к его отрицанию -- тезису (2).

Язык Оберон -- универсальный язык программирования (3GL). Ненужность импорта обосновывается несоответствием принципам "системности" по ASU. При этом утверждается, что 3GL не важен для методологии и воплощения архитектуры (т.е. Бейсик и Оберон -- все едино). Если едино -- что обсуждаем? Какая тогда разница, есть в языке импорт или нет, если все решают наверху архитекторы и проектировщики? Может, он вдруг помешал этим самым архитекторам? Чем же, позвольте полюбопытствовать? У них чего-то не отображается на него?

»сообщение 4074« [ASU]
Посмотрите мои сообщения, с самого начала говорилось о том, что система должна конструироваться (собираться). Но это иной процесс, отличный от программирования и не разумно его выполнять из 3GL, нужен специализированный инструмент. Но не менее неразумно развивать 3GL в направлении конструирования систем... ничего хорошо из не может получиться.

О-па. Не нужно ни развивать 3GL в направлении конструирования, ни даже выполнять конструирование на 3GL. Замечательно. Понятная позиция архитектора, ставящего во главу угла методологию. Пардон, а причем тут язык 3GL под названием "Оберон". Чего от него надо-то архитектору? Он же в кабинете сидит, а не котлован роет и не подземные коммуникации прокладывает.

»сообщение 4149« [ASU]
На Обероне легче писать отдельные модули, и те плюсы, о которых здесь было сказано очень много (ясный синтаксис, контроль типов и пр.) способствуют этому. Но в Обероне царит анархия, когда надо установить межмодульные связи. Каждый делает то, что счел нужным и то, как счел нужным... Никаких правил, никакого контроля (кроме проверки соответствия типов формальных и фактических параметров), никакой логики (концепции)... впрочем, как и в других 3GL.

Вообще-то, манипулировать сущностями языка программирования -- это прерогатива программиста. Ему только дай сущности, а он наворотить может такое... никакие спецификации не спасут. Импорт в этом смысле ничуть не хуже работы с динамическими структурами. Ага, значит в случае ссылок мозги у программиста быть все-таки должны, но они ему совсем не обязательны в случае импорта.

Систему можно строить как снизу (формируя элементы/слои и связи-разъемы), так и сверху (танцуя от общей архитектуры и опускаясь вниз по уровням абстракции системы -- детализируя и конкретизируя). Определяется условиями проекта и характером работы. Использование методологии -- как правило, разработка сверху вниз. Там предыдущий этап задает рамки последующему. Но для такого подхода анархия импорта -- абсурд. Ведь рамки уже заданы спецификациями, и программист не имеет права на самодеятельность (он работает под контролем "начальника участка"). А вот для построения снизу вверх нужны ограничители, иначе программист много чего может наворотить. Импорт интерфейсов в модульном подходе Оберона -- ровно такой ограничитель. Именно он и задает надежность на уровне языка программирования.

Если методологии без разницы, на какой язык осуществляется отображение архитектуры (проекта), то контроль межсущностных связей и отношений -- внеязыковой механизм. Надо ли пояснять, в чем разница по надежности между языковым и внеязыковым контролем?


№ 4307   22-04-2007 10:06 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 4302« (ASU)
___________________________

То есть, если написан модуль А, который экспортирует интерфейс «альфа» и написан модуль Б, который импортирует интерфейс «альфа», то Вы считаете их модулями разных уровней иерархии?.. Хорошо... я не против, но эта иерархия не имеет ничего общего с иерархией уровней системы. Я попробую пояснить на другом примере. Если в базе данных таблица А ссылается на таблицу Б, то это не означает, что одна из таблиц «выше», а другая «ниже». Это просто связи на одном уровне... и все..

Кто же спорит?
И когда один элемент списка "ссылается" (через указатель) на другой элемент этого же списка, это тоже не говорит о разнице уровней.
А вот если один модуль определяет некий АТД, а другой им пользуется, то почему же это не иерархия?
Просто "иерархии" бывают разные.
Например: целое и часть, начальник и подчиненный...
Надо только уточнять, о какой иерархии идет речь.
 AVC


<<<... | 4326—4317 | 4316—4307 | 4306—4297 | ...>>>
Всего сообщений в теме: 6256; страниц: 626; текущая страница: 195


Добавить свое сообщение

Отслеживать это обсуждение

Дополнительная навигация:
Количество сообщений на странице

Порядок сортировки сообщений
Новое сообщение вверху списка (сетевая хронология)
Первое сообщение вверху списка (обычная хронология)

Перейти на конкретную страницу по номеру
  
Время на сайте: GMT минус 5 часов

Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.

Web hosting for this web site provided by DotNetPark (ASP.NET, SharePoint, MS SQL hosting)  
Software for IIS, Hyper-V, MS SQL. Tools for Windows server administrators. Server migration utilities  

 
© При использовании любых материалов «Королевства Delphi» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

Яндекс цитирования