OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 14:38

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




Начать новую тему Ответить на тему  [ Сообщений: 66 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 24 Февраль, 2020 23:29 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Борис Рюмшин писал(а):
То есть исключение для System, так или иначе, оставлять в каком-то виде надо.

А можно просто избавиться от System и никаких исключений не надо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Февраль, 2020 00:28 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Trurl писал(а):
Иван Денисов писал(а):
Ну они (Std, Host и др.) там изначально есть...

Есть, но это не подсистемы.

Цитата:
DevRBrowser. This tool module allows to list all subsystems as folds (-> StdFolds).


Вложения:
Снимок экрана в 2020-02-25 00-29-29.png
Снимок экрана в 2020-02-25 00-29-29.png [ 14.06 КБ | Просмотров: 4266 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Февраль, 2020 09:53 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Да, если покопаться в документации, можно обнаружить, что слово "subsystem" употребляется в двух значениях: набор взаимосвязанных компонентов и каталог в каталоге BlackBox. Иногда даже в одном предложении.
Цитата:
Modules which belong to no subsystem, ... are stored in a special subsystem called System.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Февраль, 2020 11:00 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Путаница с терминологией свидетельствует о недоработанности темы в эталонной версии.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Февраль, 2020 11:06 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Trurl писал(а):
Да, если покопаться в документации, можно обнаружить, что слово "subsystem" употребляется в двух значениях: набор взаимосвязанных компонентов и каталог в каталоге BlackBox. Иногда даже в одном предложении.
Цитата:
Modules which belong to no subsystem, ... are stored in a special subsystem called System.
Никакой путаницы нет, если смысл "belong"=иметь привязку к подсистеме в виде префикса в имени модуля. (Если не глючит мозг.)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Февраль, 2020 13:03 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Чтобы убрать терминологическую путаницу пару лет назад ввели слово "расширение".
Не каждая подсистема является расширением ББ. Некоторые подсистемы - это необходимые для работы ББ коллекции модулей. Так что Std - это подсистема, но не расширение.
Также расширение не обязательно является подсистемой, а иногда это один модуль. Это уже сложилось от практики распространения кода.
Так что получается, отсюда и задача #023 возникла, что для таких расширений хорошо бы иметь обособленные ресурсы. Так что вот такая данность. Без пакетного менеджера это очень неудобно, но уже так делают, и похоже придется делать для этого поддержку.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Февраль, 2020 15:21 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Info21 писал(а):
Никакой путаницы нет, если смысл "belong"=иметь привязку к подсистеме в виде префикса в имени модуля. (Если не глючит мозг.)

О! :idea: Получаем еще одно определение. Подсистема - множество модулей, имеющих одинаковый префикс в имени.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Февраль, 2020 16:59 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Борис Рюмшин писал(а):
Если модуль создан в System/Mod, то его компиляция происходит в System/*.


Борис, вы понимаете меру "революционности" этого предложения?
1) В настоящее время понятие модуля вообще не завязано на понятие файла. А это предложение завязывает его на понятие файла, да еще и каталога. Отсюда будет уже недалеко до отличий include <> и include "".

2) Сейчас принадлежность модуля к подсистеме - это "функция от его имени"; а это предложение делает его "функцией от имени модуля и расположения файла".

К тому же, не стоит забывать о плоских файловых системах. Хотя сейчас ББ на таких и не перенесен.

Это действительно все запутает. Не надо так, пож.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Февраль, 2020 17:10 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Борис Рюмшин писал(а):
Цитата:
...когда дети делают модуль Vasya...

Детей (и "детей") бы, конечно, научить, как правильно.


Согласен, но пока они учатся, да покамест научатся...

А вот, кстати, пока я над вашими словами размышлял, появилась такая идея: System - это ведь особая подсистема, и всяким Vasyaм и прочим детям туда негоже что-либо складывать. И можно проконтролировать это на уровне интерфейса: Скажем, команда DevCompiler.Compile, обнаружив модуль без префикса, отказывается его компилировать и выдает соответствующую ошибку: мол, вам в калашный ряд не положено. А для суровых Systemщиков есть команда DevCompiler.CompileSystem, которая, как сейчас, готова компилировать любой модуль. Соответственно в меню на ^K привязана только ограниченная команда, и вуаля - риск от детей и учащихся сведен к нулю.

Это решение в десяток строк, и вообще не затронет внутренностей компилятора, только его frontend.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 25 Февраль, 2020 17:11 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Trurl писал(а):
Info21 писал(а):
Никакой путаницы нет, если смысл "belong"=иметь привязку к подсистеме в виде префикса в имени модуля. (Если не глючит мозг.)

О! :idea: Получаем еще одно определение. Подсистема - множество модулей, имеющих одинаковый префикс в имени.


Прекрасное, кстати, определение!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 26 Февраль, 2020 14:47 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
adimetrius писал(а):
Борис Рюмшин писал(а):
Цитата:
...когда дети делают модуль Vasya...

Детей (и "детей") бы, конечно, научить, как правильно.
Согласен, но пока они учатся, да покамест научатся...
С детишками шутки плохи. Оселок мама-не-горюй.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 26 Февраль, 2020 14:49 
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 28 Февраль, 2020 15:38 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
adimetrius писал(а):
Борис, вы понимаете меру "революционности" этого предложения?
1) В настоящее время понятие модуля вообще не завязано на понятие файла.
,,,

Это всё вообще не имеет отношения к проблеме.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 28 Февраль, 2020 15:40 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Иван Денисов писал(а):
Чтобы убрать терминологическую путаницу пару лет назад ввели слово "расширение".

Надо сделать, наверно, оговорку: в Центре ввели. Речь вообще говоря о компонентной системе (BlackBox Component Builder), хоть и не доведённой до ума. Какие тут "расширения"?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 28 Февраль, 2020 15:43 
Администратор

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

Уже да.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 28 Февраль, 2020 17:31 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Борис Рюмшин писал(а):
Иван Денисов писал(а):
Чтобы убрать терминологическую путаницу пару лет назад ввели слово "расширение".

Надо сделать, наверно, оговорку: в Центре ввели. Речь вообще говоря о компонентной системе (BlackBox Component Builder), хоть и не доведённой до ума. Какие тут "расширения"?

Ввели не в Центре, хватит уже Центр ругать!
Ввели мы с Йозефом, мы "ось зла" всего Блэкбокс сообщества, по видимому :)

Расширение extension - это понятный термин, как расширение функциональности системы за счёт некоторых дополнительных модулей. Компонент - это модуль. Подсистема - набор модулей с одинаковым префиксом, следовательно лежат в одной папке. А расширение может быть как одним модулем, как набором модулей, или полноценной подсистемой.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 28 Февраль, 2020 17:37 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Предлагаю пока не менять механизм. Тем более это в учебным материалах уже зафиксировано.
Например в книге А.М. Болотнова.

А.М. Болотнов стр. 52 писал(а):
В папке BlackBox могут содержаться две папки Code и Sym, не
входящие ни в какую подсистему. В них хранятся кодовые и сим-
вольные файлы модулей, имена которых не следуют соглашениям
BlackBox.


Думаю, что у Варфорда, Фёдора Васильевича и Ильи Евгеньевича тоже это где-то зафиксировано в учебных материалах.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 28 Февраль, 2020 21:24 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Иван Денисов писал(а):
Ввели не в Центре, хватит уже Центр ругать!
Ввели мы с Йозефом, мы "ось зла" всего Блэкбокс сообщества, по видимому :)

Ну это вы для себя ввели значит))
Иван Денисов писал(а):
Расширение extension - это понятный термин, как расширение функциональности системы за счёт некоторых дополнительных модулей.

Понятный кому? А какая функциональность у системы до расширения?
Цитата:
Компонент - это модуль.

Нет. Компонент может состоять из одного модуля, но это не одно и то же.
Цитата:
Подсистема - набор модулей с одинаковым префиксом, следовательно лежат в одной папке.

Да, и это термин чисто для BlackBox.
Цитата:
А расширение может быть как одним модулем, как набором модулей, или полноценной подсистемой.

Компонент может быть всем этим.

В ГОСТе (номер может Евгений Эдуардович напомнить) есть определения системы и компонентов системы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 29 Февраль, 2020 10:21 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Все же упрощения не получается. Если не брать из корня, значит надо туда не класть. Надо переделывать компилятор, чтобы Math компилировалось в SystemMath. Где-то находим, а где-то теряем.

Дальше, что делать с Zadacha123?
adimetrius писал(а):
Скажем, команда DevCompiler.Compile, обнаружив модуль без префикса, отказывается его компилировать и выдает соответствующую ошибку: мол, вам в калашный ряд не положено. А для суровых Systemщиков есть команда DevCompiler.CompileSystem, которая, как сейчас, готова компилировать любой модуль.
Вот это и есть упрощение?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 29 Февраль, 2020 15:35 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Trurl писал(а):
Надо переделывать компилятор, чтобы Math компилировалось в SystemMath.

Отказ от Code и Sym в корневой папке ББ реализуется поправкой в StdDialog.GetSubLoc, поправками в DevCPM.NewObj, .NewSym и еще парой подобных в DevCPM.

Дальше, что делать с Zadacha123?
adimetrius писал(а):
Скажем, команда DevCompiler.Compile, обнаружив модуль без префикса, отказывается его компилировать и выдает соответствующую ошибку: мол, вам в калашный ряд не положено. А для суровых Systemщиков есть команда DevCompiler.CompileSystem, которая, как сейчас, готова компилировать любой модуль.
Вот это и есть упрощение?[/quote]
Мой текст отвечает на "Дальше, что делать с Zadacha123?". А вопрос "Вот это и есть упрощение?" мне непонятен.


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

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


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

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


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

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