OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 19 Апрель, 2024 04:40

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




Начать новую тему Ответить на тему  [ Сообщений: 51 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 16 Январь, 2006 02:00 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
Цитата:
А если он импортирует другой модуль, который импортирует SYSTEM?


Ну и что? Это же не .NET, где импортируются все уровни. Я могу подменить системный модуль X любой другой реализацией, в том числе и без импорта SYSTEM, если интерфейс X останется тем же, клиенты ничего не заметят вообще, никакой перекомпиляции не требуется.


Я хотел указать на то, что при таком подходе понятие "безопасности" языка становится весьма условным.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 16 Январь, 2006 06:08 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Vlad писал(а):
Илья Ермаков писал(а):
Влад, ты и правда не понимаешь или придуриваешься? :-)

Ну вообще вопрос был скорее риторическим. И так все понятно ;)
[
Что бы это ни было, а оценить это надо.


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

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


Почему? Давно оценили. Кто знает - использует и на что не променяет. В СССР Модула использовалась для важных систем очень активно, так же как и Ada в Штатах. Это потом приперлись недоучки-менеджеры, несущие "великую весть" от Microsoft и иже с ними... Я не говорю, что Microsoft делает плохие вещи, но из-за погони за их стандартами другие, не худшие наработки просто похерили...

И тем не менее: поди предложи НПО Решетнева или КБ Чистякова перейти с Модулы и Оберона на С, Java или нечто еще того же сорта - пальцем у виска покрутят :-)


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

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


Ну-ка, с этого места поподробнее...

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

Нет, я не спорю, могут возникать побочные эффекты какие-либо, ну да где их не может быть? Как будто стиль "импортируем все уровни" от этого застрахован...

А про SYSTEM, вообще говоря, разговор не в тему - SYSTEM - это не модуль вообще. Это псевдомодуль, внесение которого в список импорта указывает компилятору, что нужно задействовать дополнительный синтаксич. контструкции низкого уровня (псевдопроцедуры PUT, VAL и т.п. - которые гонятся на прямую в машинный код). Аналогичный псевдомодуль - COM.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 17 Январь, 2006 05:12 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
И тем не менее: поди предложи НПО Решетнева или КБ Чистякова перейти с Модулы и Оберона на С, Java или нечто еще того же сорта - пальцем у виска покрутят :-)


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 17 Январь, 2006 05:33 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Илья Ермаков писал(а):
Ну-ка, с этого места поподробнее...


Если кратко: у тебя нет возможности верифицировать модуль на предмет неиспользования SYSTEM и тем самым гарантировать безопасность.

Илья Ермаков писал(а):
Почему возможность подменить реализацию любой другой нарушает безопасность языка? Если контракт-интерфейс соблюдается


При всем уважении, порой складывается впечатление, что ты никогда не сталкивался с реальными системами. Понятие контракта никто не умаляет, однако с поправкой на практику оно не дает 100% гарантии обнаружения "неправильного" использования. Тем более применительно к оберонам, т.к. есть намного более выразительные языки (Eiffel, напримнер).

Илья Ермаков писал(а):
(а не соблюсти его по большей части компилятор не позволит,


А компилятор оберона вообще ничего не умеет. Потому что сделан ради простоты самого себя. Даже С++ на уровне интерфейса может выразить гораздо больше контрактов проверяемых компилятором.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 17 Январь, 2006 14:04 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Vlad писал(а):
А компилятор оберона вообще ничего не умеет. Потому что сделан ради простоты самого себя.


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

Кстати, если Вы еще не поняли, системозависимые опасные функции затем и были вынесены в SYSTEM, чтобы их использование можно было легко отследить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 17 Январь, 2006 19:20 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Борис Рюмшин писал(а):
Vlad писал(а):
А компилятор оберона вообще ничего не умеет.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 17 Январь, 2006 23:50 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Борис Рюмшин писал(а):
Ну во-первых, какой именно компилятор? :)


BB.

Борис Рюмшин писал(а):
А во-вторых... Влад, Вы меня паражаете, если вам ничего не нравится, что вы здесь делаете?


http://blackbox.metasystems.ru/forum/vi ... %E8%2A#788

Борис Рюмшин писал(а):
Кстати, если Вы еще не поняли, системозависимые опасные функции затем и были вынесены в SYSTEM, чтобы их использование можно было легко отследить.


Я не понимаю как это можно отследить при получении компонента извне. Даже при наличии исходников нет гарантии, что он "особым образом" не использует какие-то стандартные компоненты системы, которые в свою очередь используют SYSTEM.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 17 Январь, 2006 23:51 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
GUEST писал(а):
Как можно отследить применение опасных функций? К примеру в С. И каковы они там?


В С - никак.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 19 Январь, 2006 17:37 
Модератор
Аватара пользователя

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

http://blackbox.metasystems.ru/forum/vi ... .php?t=105


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

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


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

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


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

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