OberonCore

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

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




Начать новую тему Ответить на тему  [ Сообщений: 66 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Вторник, 18 Февраль, 2020 23:39 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Исходное название темы: Распол-е модулей System. Все еще актуально брать из корня?

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

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

Может быть есть методические соображения, когда школьники пишут MODULE Петя ... MODULE Вася...?
Но схема MODULE ИвановПетя... MODULE СидоровВася... кажется допустимой для самых начинающих.

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

DeleteCodeFile(SubMod) -> delete Sub/Code/Mod.ocf
DeleteCodeFile(Mod) -> ? delete Code/Mod.ocf ? delete System/Code/Mod.ocf ? delete Code/Mod.ocf System/Code/Mod.ocf

doc := Files.dir.Old(Files.dir.This(sub).This(cat), name, Files.shared)
IF (doc = NIL) & (sub = "") THEN doc := Files.dir.Old(Files.dir.This("System").This(cat), name, Files.shared) END
подменяется на
IF sub = "" THEN sub := "System" END;
doc := Files.dir.Old(Files.dir.This(sub).This(cat), name, Files.shared)

docList := Files.dir.FileList(Files.dir.This(sub).This(cat))
IF sub = "" THEN docList2 := ... ; Join(docList, docList2) ...
ELSIF sub = "System" THEN ...
подменяется на
IF sub = "" THEN sub := "System" END;
docList := Files.dir.FileList(Files.dir.This(sub).This(cat))

и т.п.


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

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


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

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Мне сама идея (или, по крайней мере. реализация) подсистем всегда казалась слишком исусственной. А System все усугубляет.
Только я не понял, Вы предлагаете перенести в корень или наоборот?


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

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Trurl писал(а):
Мне сама идея (или, по крайней мере. реализация) подсистем всегда казалась слишком исусственной.
А как бы Вы сделали?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 19 Февраль, 2020 18:42 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Вот хотелось бы, чтобы имя модуля совпадало с именем файла. Я бы оставил как было в Обероне: модуль "TextModels" находится в файле "TextModels.odc". А если уж раскидывать по папкам, ввести соответсвующие обозначения для модулей, например "Text\Models".


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

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


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Trurl писал(а):
Мне сама идея (или, по крайней мере. реализация) подсистем всегда казалась слишком исусственной. А System все усугубляет.
Только я не понял, Вы предлагаете перенести в корень или наоборот?
Наоборот. Пусть будет только в System. Подсистемы пусть остаются как есть.


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

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Евгений Темиргалеев писал(а):
Trurl писал(а):
Мне сама идея (или, по крайней мере. реализация) подсистем всегда казалась слишком исусственной. А System все усугубляет.
Только я не понял, Вы предлагаете перенести в корень или наоборот?
Наоборот. Пусть будет только в System. Подсистемы пусть остаются как есть.


Поддерживаю


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 20 Февраль, 2020 08:19 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Но если оно в System, почему называется Files, а не SystemFiles?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 20 Февраль, 2020 08:38 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Info21 писал(а):
Что значит "обозначения"? Это не термин языка.

Ну, в терминах языка это будет, скажем, "идентификатор модуля" или просто "квалифицированный идентификатор".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 20 Февраль, 2020 09:33 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Trurl писал(а):
Но если оно в System, почему называется Files, а не SystemFiles?

Потому что папку "System" нельзя назвать "". Тут правильно идти от имени модуля, так как никаких подсистем в языке нет, а то, что сейчас есть подсистема это всего лишь реализация резолвера модулей под имени.
Представьте, что каждый подсистема это зип-архив, как тогда назвать архив с модулями прямо из каталога ББ/*.*? ROOT.zip? Чем тогда System.zip хуже?


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

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Пётр Кушнир писал(а):
Потому что папку "System" нельзя назвать "".

Зато можно назвать "$$$". Но зачем она вообще нужна?


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

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Trurl писал(а):
Пётр Кушнир писал(а):
Потому что папку "System" нельзя назвать "".

Зато можно назвать "$$$". Но зачем она вообще нужна?

А зачем нужны каталоги Std, Host и т.д?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 20 Февраль, 2020 12:17 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Trurl писал(а):
Но если оно в System, почему называется Files, а не SystemFiles?
Потому что мы исходим из того, что сначала было Files, а не SystemFiles. Вводим же исключение, чтобы содержимое подсистемы "" (/Mod ...) не путалось в корне с каталогами других подсистем.
IF sub = "" THEN sub := "System" ...

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 20 Февраль, 2020 12:27 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Trurl писал(а):
Зато можно назвать "$$$"
Кстати, это тоже вариант для имени каталога. И, возможно, выгоднее "System", потому что с идентификаторами не пересекается...


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

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Пётр Кушнир писал(а):
А зачем нужны каталоги Std, Host и т.д?

Кстати, зачем?


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

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Евгений Темиргалеев писал(а):
Вводим же исключение, чтобы содержимое подсистемы "" (/Mod ...) не путалось в корне с каталогами других подсистем.
IF sub = "" THEN sub := "System" ...

А когда я напишу MODULE Test; оно тоже пойдет в System?


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

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Евгений Темиргалеев писал(а):
Trurl писал(а):
Зато можно назвать "$$$"
Кстати, это тоже вариант для имени каталога. И, возможно, выгоднее "System", потому что с идентификаторами не пересекается...


Возражаю: $$$ это "немой" знак, его невозможно прочесть вслух (в т.ч. внутренней речью), а System - вполне можно прочесть вслух. Как BEGIN-END против немых { - }


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 20 Февраль, 2020 16:43 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
adimetrius писал(а):
а System - вполне можно прочесть вслух.

Ага, "эс, как доллар...". :)


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

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Trurl писал(а):
adimetrius писал(а):
а System - вполне можно прочесть вслух.

Ага, "эс, как доллар...". :)


Всамделе! А { - это "открывающая фигурная скобка".


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

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


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

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


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

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