OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 01:07

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 76 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Свежий язык программирования :)
СообщениеДобавлено: Пятница, 11 Май, 2007 18:33 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Собственно, причиной открытия этой ветки стало вот это:

http://www.jg.inf.ethz.ch/wiki/ComponentLanguage/Front

Цитата:
Author: Luc Bläser, Supervisor: Prof. Dr. Jürg Gutknecht

COMPOSITA is a new programming language with an integrated general component notion. It is designed to promote structural clarity, high dynamicity, and inherent concurrency in the construction of modern software systems. The component notion is directly supported by only high-level concepts, in order to enable simple and expressive programming.


Прошу любить и жаловать. :):):)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 12 Май, 2007 12:12 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
SYSTEM убрали. Означает ли это, что системно-зависимые компоненты нужно писать на языке несовместимом с COMPOSITA или же его высокоуровневые возможности будут позже добавлены в прочие языки Oberon-семейства? Хотя бы предположительно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 12 Май, 2007 14:31 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Если SYSTEM не описан в Language Report, это не значит, что его нет...
Надо бы глянуть, на чем написан "поверхжелезный" рантайм Композиты - на ней самой, или на Активном Обероне?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 13 Май, 2007 18:43 

Зарегистрирован: Среда, 28 Февраль, 2007 00:08
Сообщения: 142
Откуда: Нижний Новгород
Не заметил по описанию языка, но это- очередной эксперимент и из языка на этот раз выкинули указатели.
Цитата:
Novel Programming Models

Conventional programming models are too low-level to support the development of correct programs. In particular, the concept of pointers is an ample source of potential inconsistencies. This project aims at a pointer-free imperative programming model, including component technology and concurrency.
(со страницы http://www.jg.inf.ethz.ch/wiki/Group/Research ).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 13 Май, 2007 19:06 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2449
Откуда: Россия, Томск
batyrmastyr писал(а):
Не заметил по описанию языка, но это- очередной эксперимент и из языка на этот раз выкинули указатели.

Отлично, давно пора! : )


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 13 Май, 2007 21:58 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Да, там какая-то концепция хранилищ - толком по первому чтению не разобрался.

Впечатление - декларатив для "композиции компонентов" действительно сильный, но в целом язык несбалансирован - его бы как "верхний уровень" взять для организации взаимодействия подсистем, а не для полного программирования.
+ такая особенность бросилась в глаза: в ОО-языках есть только объекты, которые хорошо годятся для абстрагирования проблемной области, но плохо - для архитектуры.
А тут есть только компоненты, заточенные под выстраивание архитектуры, а абстракции данных придется эмулировать через них... Т.е. тот же перекос, что и у ОО, только в обратную сторону, получился.
В отличие от Обероновской классики, где есть разделение компетенций между объектами и модулями.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 14 Май, 2007 15:42 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Илья Ермаков писал(а):
А тут есть только компоненты, заточенные под выстраивание архитектуры, а абстракции данных придется эмулировать через них...

А не нужны вам "абстракции ДАННЫХ"! Вы теперь получате средство формализации ОТНОШЕНИЙ в системах (соблюдение деклараций интерфейсов + поддержка протокола по обмену). - Какая разница что и как внутри компонент это поддерживает? :о) Это ж как раз и есть конечная идеальная точка компонентного ПО! :о)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 14 Май, 2007 16:31 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Да вот, средство формализации отношений между компонентами отличное!
Но для написания самих компонент слишком высокоуровневое, по-моему.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 14 Май, 2007 23:23 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Такое предположение, что модель контроля за взаимодействием компонент, обкатанная на COMPOSITA будет внедряться в язык, служащий непосредственныи приемником Active Oberon. Хотя, возможно, что предположение да и только . Фактов таких нет. Косвенное свидетельство - экспериментальный характер COMPOSITA и открытость Оберонов для расширения.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 15 Май, 2007 00:27 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Возможно, Ваше предположение вполне реалистичное.
Active Oberon был промежуточным экспериментальным решением.
Zonnon в чистом виде заточен под .NET и из-за обязательств по микрософтовским грантам вряд ли будет open-source.
Логично, что лаборатория Гуткнехта ведет "разведку боем" в третьем направлении, развивающим два предыдущих.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 16 Май, 2007 22:37 

Зарегистрирован: Среда, 28 Февраль, 2007 00:08
Сообщения: 142
Откуда: Нижний Новгород
batyrmastyr писал(а):
Не заметил по описанию языка, но это- очередной эксперимент и из языка на этот раз выкинули указатели...

Эх, поспешил обрадовать, а ребята, похоже, имели ввиду совсем другое - коллекции лежат в динамической памяти, компоненты вероятно, тоже "Initially, the storage location of a normal variable with a component type is empty until a component has
been assigned to it." (хотя чего им было в статическую не кинуть ). Еще как-то не нашел наследования - похоже его заменяет наличие нужного интерфейса.
Штука получилась интересная, но 2 примера из 3-х выглядят переусложненными. Как работает "решето" до сих пор не пойму. Третий пример (SimCity :) ) - то, для чего этот язык создавался.
В силу того, что массив-это коллекция и хранится в динам. памяти, а также того, что взаимодействие по протоколу- не самая дешевая операция, для ядра он может оказаться не очень.

Припомнил что швейцарцы меняли:
Паскаль: +структурность, -сложность, -адресная арифметика
Модула: +модули,-неоднозначности Паскаля
Оберон: +наследование, -typebound процедуры, -множ.наследование, - модель (2 файла на модуль)
ActiveOberon: +активные объекты
Zonnon: +протокол для активных объектов.
Composita: +компоненты,протоколы взаимодействия, интерфейсы, -наследование (быстро же у них наследование износилось :)
OneronNext: +??, - ?? (что дальше они выкинут на свалку истории??? :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: не стоит сильно париться
СообщениеДобавлено: Четверг, 17 Май, 2007 08:29 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Вроде писал, а не вижу...

У Гуткнехта каждый год есть дипломники-аспинанты, которым че-то надо защищать. Если вы думаете, что все эти эксперименты глубого продуманы, то вы заблуждаетесь. На базе Оберона можно много всяких экспериментов делать.

Не стоит сильно париться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 17 Май, 2007 08:33 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
batyrmastyr писал(а):
.. OneronNext: +??, - ?? (что дальше они выкинут на свалку истории??? :D


Просто на всякий случай еще раз: эти эксперименты не стоят того, чтобы из-за них париться.
Это все -- не развитие Оберона, а нормальное функционирование академической группы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 17 Май, 2007 10:30 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
info21 писал(а):
batyrmastyr писал(а):
.. OneronNext: +??, - ?? (что дальше они выкинут на свалку истории??? :D


Просто на всякий случай еще раз: эти эксперименты не стоят того, чтобы из-за них париться.
Это все -- не развитие Оберона, а нормальное функционирование академической группы.

Это да. Однако некоторые идеи извлечь оттуда можно. Чем и занимаемся.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Component System для Composita
СообщениеДобавлено: Понедельник, 16 Июль, 2007 07:45 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 22:34
Сообщения: 431
Откуда: Москва
На странице исследовательской группы проф. Гуткнехта (Programming Languages and Runtime Systems Group, ETH Zurich) выложена реализация языка Composita с исходными текстами (включая исходники ран-тайма), а также с набором тестов производительности и парой примеров приложений. См. http://www.jg.inf.ethz.ch/wiki/ComponentLanguage/Front

Цитата:
Component System (160kb, 29 June 2007).

The Component language is implemented by two systems:

- First, there is the development system, on which new component programs can be edited and compiled. This is a usual Oberon installation with the component compiler provided in the package above.

- Second, there is a runtime system, on which the the compiled programs can be executed. It is a small operating system which has been specifically designed to support the concepts of the new language very efficiently. As target platform, the runtime system runs on any PC-compatible Intel x86 single or multi-processor machine (with normal ATA disk support).

To use the compiler and runtime system, extract the package above under an Oberon installation (AOS) and follow the instructions in 'ComponentSystem.Tool' file. The source code of the runtime system is here available.

Applications

The following applications have been currently developed in Composita:

- Traffic Simulation Package (144kb, 29 June 2007).

- Typical Concurrent Programs (8kb, 29 June 2007)

The packages also contain analogous implementations in other programming languages to compare the runtime performance.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Composita. Новый релиз
СообщениеДобавлено: Понедельник, 27 Август, 2007 13:12 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 22:34
Сообщения: 431
Откуда: Москва
В минувший четверг на странице исследовательской группы проф. Гуткнехта (Programming Languages and Runtime Systems Group, ETH Zurich) выложена новая версия реализации языка Composita с исходными текстами (включая исходники ран-тайма), а также с набором тестов производительности и парой примеров приложений. См. http://www.jg.inf.ethz.ch/wiki/ComponentLanguage/Front

Изменения по сравнению с вариантом двухмесячной давности затронули Component System (на уровне ядра и компилятора языка), а также Traffic Simulation Package и Benchmark Package.

Это весьма нешаблонный взгляд на компонентное программирование и его поддержку на уровне языковых конструкций, включая интерфейсы-контракты с поддержкой спецификаций протоколов взаимодействия. Подход Composita -- предмет пристального изучения в свете поддержки параллельного и компонентного программирования в рамках проекта новой ОС "Роса".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Свежий язык программирования :)
СообщениеДобавлено: Четверг, 30 Август, 2007 01:00 

Зарегистрирован: Среда, 29 Август, 2007 11:04
Сообщения: 91
Почитал описание языка и сразу возникло много вопросов.

Концепция процедуры есть, но библиотеки процедур создавать нельзя (процедуры существуют только внутри компонента и недоступны за его пределами). А что делать, если мне нужно использовать одну и ту же процедуру сортировки в разных компонентах?

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Свежий язык программирования :)
СообщениеДобавлено: Четверг, 30 Август, 2007 01:29 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Это некий прототип архитектурного языка... Которому место на верхнем уровне системы. В сочетании с обычным языком на нижнем.
В текущем ("чистом") виде получился язык далеко не универсального применения...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Четверг, 13 Сентябрь, 2007 14:03 

Зарегистрирован: Вторник, 04 Июль, 2006 13:04
Сообщения: 88
Откуда: Novosibirsk
Александр Ильин писал(а):
batyrmastyr писал(а):
Не заметил по описанию языка, но это- очередной эксперимент и из языка на этот раз выкинули указатели.

Отлично, давно пора! : )

поддерживаю))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Свежий язык программирования :)
СообщениеДобавлено: Понедельник, 17 Сентябрь, 2007 13:43 

Зарегистрирован: Вторник, 04 Июль, 2006 13:04
Сообщения: 88
Откуда: Novosibirsk
((ужас чего наворочали. и снова грамматики как в зонноне...
подумаю лучше на тему конечных автоматов и ммх...


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 76 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB