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

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

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


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

Архив

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


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

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

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

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

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

 
   
С Л С

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

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

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

Квинтана

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

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

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

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

 
  
АРХИВЫ

 
 

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

Здравствуйте!

Хотелось бы знать, как народ отнесся бы к появлению проекта по созданию Руccкой ОС. Причём не только русской, но и всего русскоговорящего населения? Присоеденились бы вы к такому проекту?

Прошу не относить к флейму. Речь идёт о уже существующем проекте.

С уважением,

VICH

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

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

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


Всего в теме 5452 сообщения



Отслеживать это обсуждение
<<<... | 2562—2553 | 2552—2543 | 2542—2533 | ...>>>
Всего сообщений в теме: 5452; страниц: 546; текущая страница: 291


№ 2552   02-09-2007 16:55 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2541« (12)
___________________________

Пока синтаксис Norebo-0 (а не сократить ли до R?) не определен, можно ли предложить частично позаимствовать нотацию у С?

А зачем? С имитацией Norebo-0 на стадии макета успешно справится XDS Modula-2. С этим языком как раз ясность наблюдается. Синтаксис вряд ли будет Си-шный. Наверное, сохраним Модула/Оберон-подобный. Но реально работы по балансировке идей в новых языках (и интеграции с Haskell и Python) будет много.


№ 2551   02-09-2007 16:45 Ответить на это сообщение Ответить на это сообщение с цитированием
По поводу разных моделей архитектуры ОС и подходов к мультипрограммированию.

На сайте Гюнтера Дотцеля (Modulaware) нашел краткий анонс (на англ.) экспериментальной ОС, сделанной нашей группой в МАИ (Егоров, Богатырев, Петровичев, Люльчев) в начале 1990-х годов. Вот ссылка: "Lotos: A Distributed Library Operating Medium" -- http://www.modulaware.com/mdlt20.htm
На русском языке более подробную публикацию (в трудах конференции в СО АН СССР) надо будет поискать.

Небольшой экскурс в историю тех работ. Цитата из сообщения двухлетней давности в замороженном форуме "Мысли об Обероне". Сообщение #3293.

Помнится, лет 20 назад сталкивался с подобными вопросами. Начал с того, что реализовал на Modula-2 на библиотечном уровне механизм рандеву Ады. Но он оказался не очень подходящим (или дело вкуса?).

Из того, что тогда исследовал, больше всего понравился относительно простой подход методологии MASCOT-3 (развивалась в Мин. обороны Велкобритании в середине 1980-х, целевым языком была Ada).

В системе выделялись две группы (чуть не сказал класса) компонентов -- активные (activity) и пассивные (IDA, Intermediate Data Areas). Активным (процессам) не дозволялось общаться друг с другом иначе как через IDA (т.е. закладывается асинхронная модель), правда, самим IDA общаться с себе подобными разрешалось.

Декомпозиция системы шла на уровне составных IDA (включающих другие IDA и процессы), тогда как activity были плоскими (последовательными). Работа с IDA велась через каналы (порты). В остальном в общем ничего особо примечательного.

Мы доразвили эту идею до своих real-time задач следующим образом: запретили IDA общаться друг с другом, сложная логика IDA делалась на сетях Петри (или на конечных автоматах). Сама IDA представляла собой своего рода монитор Хансена-Хоара.

Была реализована относительно несложная библиотека, которая отвечала за поддержку формальной модели (ограниченный класс сетей Петри) и ее интерпретацию в реальном времени. Отлаживалась (статически и динамически) модель, а не система. Поскольку IDA являлись строительными блоками, то можно было отладить логику относительно небольшого количества типов (классов) IDA, после чего просто запускать "штамповку" сочленения.

Очевидно, что процессы (activity) должны были осуществлять явные обращения к библиотеке для передачи информации (или синхронизации) через каналы IDA. На этом уровне требовалось (там где это требовалось) использовать механизм тайм-аутов. Кроме того, процессы порождались (при формировании схемы системы) иерархически, соответственно, между ними устанавливались дополнительные отношения, которые позволяли в случае необходимости вмешиваться в их работу (это реализовывалось через наш механизм обработки исключений, который разделял внутренние и внешние исключения, то бишь программные прерывания). Все делалось на Modula-2.

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


Можно добавить, что в этой схеме unit (см. публикацию по LOTOS на сайте Modulaware) может прозрачным образом отображаться на core-ядро (в нынешних мультиядерных процессорах).


№ 2550   02-09-2007 16:28 Ответить на это сообщение Ответить на это сообщение с цитированием
Доп. информация к контексту нашего проекта.

Хотел бы обратить внимание на две статьи директора РосНИИ искусственного интеллекта А.С.Нариньяни ("технологическую" и "политическую"), работавшего совместно с В.Е.Котовым (проект МАРС) в Новосибирске:

1. "Модель или алгоритм: новая парадигма информационной технологии" -- http://www.artint.ru/articles/narin/PARAD-R1.htm
2. "Национальная идея и российский путь в информационные технологии 21 века" -- http://www.artint.ru/articles/narin/r_put2.htm


№ 2549   02-09-2007 16:14 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2543« (Сергей Прохоренко)
___________________________

http://voidbent.livejournal.com/tag/architecture (сообщение с заголовком "Многослойные языки")

Автор этого блога, Владимир Фролов изложил схему, в самых общих чертах близкую к идее многослойного языка Norebo.

К тому же я понял Norebo-2 совершенно по-другому - как мультипарадигменный язык на основе оберона, пересечение множеств функциональных возможностей привилегированных языков.

Некоторую информацию можно почерпнуть в дискуссиях форума "Оберон-технологии"

1. http://www.delphikingdom.com/asp/talktopic.asp?ID=368&ref=msg&msg=3590#msg3590
2. http://www.delphikingdom.com/asp/talktopic.asp?ID=368&ref=msg&msg=3128#msg3128
3. http://www.delphikingdom.com/asp/talktopic.asp?ID=368&ref=msg&msg=3168#msg3168
4. http://www.delphikingdom.com/asp/talktopic.asp?ID=368&ref=msg&msg=4185#msg4185
5. http://www.delphikingdom.com/asp/talktopic.asp?ID=368&ref=msg&msg=4330#msg4330
6. http://www.delphikingdom.com/asp/talktopic.asp?ID=368&ref=msg&msg=4335#msg4335
7. http://www.delphikingdom.com/asp/talktopic.asp?ID=368&ref=msg&msg=4341#msg4341
8. http://www.delphikingdom.com/asp/talktopic.asp?ID=368&ref=msg&msg=4344#msg4344
9. http://www.delphikingdom.com/asp/talktopic.asp?ID=368&ref=msg&msg=4348#msg4348
10. http://www.delphikingdom.com/asp/talktopic.asp?ID=368&ref=msg&msg=4370#msg4370
11. http://www.delphikingdom.com/asp/talktopic.asp?ID=368&ref=msg&msg=4378#msg4378

Небольшое замечание относительно термина "кластерно-модульное программирование". Почему дал именно такое название.

1. Идея модулей появилась не у Дэвида Парнаса, а парой лет раньше -- у Петера Наура. И назвал он модули "кластерами действий" (Peter Naur "Programming by action clusters". BIT, 1969, #9). Ссылку на эту редкую работу, кстати, Вирт привел еще в своей знаменитой классической работе "Program Development by Stepwise Refinement" (1971) -- http://www.europrog.ru/paper/nw1971.pdf

2. Идея кластеризации (термин хорошо известен в области обработки данных и в сфере "железа") приглянулась Барбаре Лисков (MIT) и она застолбила этот термин для своего языка абстрактных типов данных -- CLU (1975). Собственно CLU есть "половинка" от CLUSTER. Кластер Барбары Лисков -- это своего рода модуль (АТД-модуль), в котором инкапсулированы (связаны друг с дружкой) абстрактный тип данных (АТД) и операции над ним. CLU относят к языкам модульного программирования.

3. Если смотреть на модульное программирование с позиций Вирта (модули Оберона и Модулы-2), то ощущается нехватка более объемлющей конструкции -- набора модулей (в том же КП в роли таких наборов выступают каркасы-framework). Этот набор помимо того, что просто перечисляет относящиеся к нему модули (куст модулей, удобный для групповой загрузки-выгрузки-подмены) еще и вводит определенные правила композиции (будем просто называть конфигурированием набора модулей). Вот почему возникла потребность в понятии, отличном от термина "модуль", но родственное ему по истории и по смыслу. Так я пришел к мысли использовать название "кластер" и термин "кластерно-модульное программирование".


№ 2548   02-09-2007 15:48 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2546« (Сергей Прохоренко)
___________________________

Я ни разу не сталкивался с такого рода вещами. Поэтому я сомневаюсь, что они соответствуют действительности. А может, проблема в конкретном компиляторе. Я лично имел дело с ЕС-1033.

Сталкивался. Соответствуют. Проблема в определении языка.


№ 2547   02-09-2007 15:39 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2527« (Сергей Прохоренко)
___________________________

Ответ на »сообщение 2520« (info21)
___________________________
Сильно сомневаюсь в необходимости потакать неразвитости, неумению, нетренированности у 10% студентов.


Не сомневаюсь, что Вы не поняли моих аргументов.

Это примерно так же, как "переделывать" детей-левшей на правшей -- только изуродуете дите... (только что мелькало свежее онлайн-интервью на эту тему).

Кстати, попробуйте назвать "неразвитым" математика Ю.И.Манина (ха-ха).

Для разных задач лучше подходят разные модели

А разные люди специализируются на разных задачах.



№ 2546   02-09-2007 15:14 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2544« (Geniepro)
___________________________

Ответ на »сообщение 2528« (Сергей Прохоренко)
___________________________

PL/I сделан так, чтобы было удобно программисту, который на нем работает,

Агащаз... Вот открытая наугад страница из книги Гленфорда Майерса "Надёжность программного обеспечения":


Я ни разу не сталкивался с такого рода вещами. Поэтому я сомневаюсь, что они соответствуют действительности. А может, проблема в конкретном компиляторе. Я лично имел дело с ЕС-1033.

Потенциальные дыры языка в 99,9999% случаев НЕ становятся реальными ошибками. Поэтому нужно говорить о надежности системы язык+вменяемый программист, а не одного только о надежности языка. Если программист шалопай, то он на любом сколь угодно надежном языке наделает труднообнаруживаемых ошибок. Когда НОРМАЛЬНЫЙ программист пишет программу, он не полагается на преобразования "по умолчанию", а предусмотрительно думает о типах переменных в программе. Конечно, язык должен по-возможности страховать от ошибок, но это не значит, что он должен ограждать от всех очевидных глупостей.


№ 2545   02-09-2007 14:26 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2544« (Geniepro)
___________________________

... откуда видно, что заключительные также важны.

... откуда видно, что заключительные нули также важны.


№ 2544   02-09-2007 14:20 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2528« (Сергей Прохоренко)
___________________________

PL/I сделан так, чтобы было удобно программисту, который на нем работает,

Агащаз... Вот открытая наугад страница из книги Гленфорда Майерса "Надёжность программного обеспечения":


Автоматическое преобразование данных возникает в PL/I всякий раз, когда в выражении используются переменные, отличающиеся типом или точностью. Правила преобразования занимают многие страницы в руководстве по языку [8] и так сложны, что даже опытные программисты на PL/I, вероятно, не угадают ответов на приведённые ниже примеры. Записанное на PL/I выражение 25+1/3 вырабатывает значение 5.333... , а выражение 25+01/3 даёт правильный ответ 25.333... , иллюстрируя, таким образом, что убеждённость в бессмысленности ведущих нулей не всегда оправдана. В следующей программе:

DECLARE (I,J) FIXED BINARY (31,5);
I = 1;
J = 1;
I = I + .1;
J = J + .1000;

окончательное значение I равно 1.0625, а значение J равно 1.09375, откуда видно, что заключительные также важны.

Куда передаётся управление в следующей программе?

DECLARE B BIT(1);
B=1;
IF B=1  THEN GO TO Y;
        ELSE GO TO X;

К этому моменту читатель может решить делать ставки на то, что противоречит интуиции, и, если так, он прав: управление передаётся по метке X. Причина в том, что константа 1 (десятичная, с фиксированной точкой и точностью (1,0)) преобразуется к битовому типу в присваивании и к двоичному с фиксированной точкой при сравнении. В мою задачу не входит объяснение правил преобразования, я только иллюстрирую их эффект. В качестве ещё одного примера попробуйте угадать, чему равно значение B  после выполнения

DECLARE B BIT (5);
B=1

Значение B - строка битов '00010'B


№ 2543   02-09-2007 13:53 Ответить на это сообщение Ответить на это сообщение с цитированием
Ответ на »сообщение 2542« (Сергей Перовский)
___________________________

Ответ на »сообщение 2539« (Сергей Прохоренко)
___________________________
То, что вы пишете, не относится к языкам общего назначения (оберон, хаскель, питон). Где тут "хорошо очерченный и формализованный круг задач"? Нет его. Нет и почвы для "создания специализированных языков".
Насколько я понял Руслана, он предлагает отдельный язык для описания межмодульного взаимодействия с тем, чтобы модули можно было писать на различных, подходящих к случаю языках. Такой язык как раз попадает в категорию "специализированных языков", т.к. решает довольно узкую и специфическую задачу.
Мне нравится такой подход, потому, что я привык видеть за инструментом соответствующий математический аппарат.
Есть лямда исчисление - есть ЛИСП.
Есть реляционное исчисление - есть SQL.
Есть теория конечных автоматов - нужен соответствующий синтаксис для ее реализации. Сейчас мы делаем реализацию на императивном языке, а на самом деле там два уровня: табличный и функциональный.
Постепенно приходит осознание, что универсальный язык, это несколько упрощенный ассемблер - можно все, но конкретные вещи приходится делать долго и ненадежно. Потому что думать приходится не в предметной области задачи, а в машинных кодах. Разве, что от кодов конкретного процессора перешли к к кодам виртуальной машины.
Сколько было ошибок при работе с БД из императивных языков. То попытка перейти за последнюю запись, то последнюю запись забыли обработать, то вообще удалили лишние записи из за смещения номеров при удалении. А SQL позволил мыслить не записями, а целыми таблицами.
Если мне потребуется работать с сетями Петри, то я не буду писать на императивном языке, а постараюсь сделать удобный инструмент для их описания. Это может оказаться вообще не язык в прежнем понимании, а некоторый визуальный редактор.


А что, разве для межмодульного взаимодействия создан новый оригинальный математический аппарат, который должен быть реализован в новом языке?
К тому же я понял Norebo-2 совершенно по-другому - как мультипарадигменный язык на основе оберона, пересечение множеств функциональных возможностей привилегированных языков.

"И, наконец, поверх всей этой четверки идет Norebo-2 -- этот архитектурный язык кластеров осуществляет композицию ключевых сущностей всех перечисленных выше языков. Если в этих языках не будет общих сущностей, создать интеграцию будет затруднительно. Поэтому их избыточность в плане подходов не является серьезным минусом."

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

Вот интересные ссылки на тему сочетания языков с разными парадигмами:
http://forum.telenet.ru/index.php?showtopic=60323 (дискуссия после слов "А вообще хороший язык - мультипарадигменный язык")
http://voidbent.livejournal.com/tag/architecture (сообщение с заголовком "Многослойные языки")





<<<... | 2562—2553 | 2552—2543 | 2542—2533 | ...>>>
Всего сообщений в теме: 5452; страниц: 546; текущая страница: 291




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

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

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

Перейти на конкретную страницу по номеру
  
Время на сайте: 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» необходимо указывать источник информации. Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются собственностью их производителей.

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