OberonCore
https://forum.oberoncore.ru/

#024 Распол-е модулей System. Актуально ли брать из корня?
https://forum.oberoncore.ru/viewtopic.php?f=134&t=6560
Страница 1 из 4

Автор:  Евгений Темиргалеев [ Вторник, 18 Февраль, 2020 23:39 ]
Заголовок сообщения:  #024 Распол-е модулей System. Актуально ли брать из корня?

Исходное название темы: Распол-е модулей 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))

и т.п.

Автор:  Info21 [ Среда, 19 Февраль, 2020 08:25 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

Вы попонятней объясните, попроще.

Автор:  Trurl [ Среда, 19 Февраль, 2020 09:29 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

Мне сама идея (или, по крайней мере. реализация) подсистем всегда казалась слишком исусственной. А System все усугубляет.
Только я не понял, Вы предлагаете перенести в корень или наоборот?

Автор:  Info21 [ Среда, 19 Февраль, 2020 11:26 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

Trurl писал(а):
Мне сама идея (или, по крайней мере. реализация) подсистем всегда казалась слишком исусственной.
А как бы Вы сделали?

Автор:  Trurl [ Среда, 19 Февраль, 2020 18:42 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

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

Автор:  Info21 [ Среда, 19 Февраль, 2020 21:18 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

Что значит "обозначения"? Это не термин языка.

Автор:  Евгений Темиргалеев [ Четверг, 20 Февраль, 2020 03:28 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

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

Автор:  adimetrius [ Четверг, 20 Февраль, 2020 03:57 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

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


Поддерживаю

Автор:  Trurl [ Четверг, 20 Февраль, 2020 08:19 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

Но если оно в System, почему называется Files, а не SystemFiles?

Автор:  Trurl [ Четверг, 20 Февраль, 2020 08:38 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

Info21 писал(а):
Что значит "обозначения"? Это не термин языка.

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

Автор:  Пётр Кушнир [ Четверг, 20 Февраль, 2020 09:33 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

Trurl писал(а):
Но если оно в System, почему называется Files, а не SystemFiles?

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

Автор:  Trurl [ Четверг, 20 Февраль, 2020 10:26 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

Пётр Кушнир писал(а):
Потому что папку "System" нельзя назвать "".

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

Автор:  Пётр Кушнир [ Четверг, 20 Февраль, 2020 10:46 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

Trurl писал(а):
Пётр Кушнир писал(а):
Потому что папку "System" нельзя назвать "".

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

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

Автор:  Евгений Темиргалеев [ Четверг, 20 Февраль, 2020 12:17 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

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

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

Автор:  Евгений Темиргалеев [ Четверг, 20 Февраль, 2020 12:27 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

Trurl писал(а):
Зато можно назвать "$$$"
Кстати, это тоже вариант для имени каталога. И, возможно, выгоднее "System", потому что с идентификаторами не пересекается...

Автор:  Trurl [ Четверг, 20 Февраль, 2020 15:38 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

Пётр Кушнир писал(а):
А зачем нужны каталоги Std, Host и т.д?

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

Автор:  Trurl [ Четверг, 20 Февраль, 2020 15:42 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

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

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

Автор:  adimetrius [ Четверг, 20 Февраль, 2020 15:43 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

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


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

Автор:  Trurl [ Четверг, 20 Февраль, 2020 16:43 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

adimetrius писал(а):
а System - вполне можно прочесть вслух.

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

Автор:  adimetrius [ Четверг, 20 Февраль, 2020 16:47 ]
Заголовок сообщения:  Re: Распол-е модулей System. Все еще актуально брать из корн

Trurl писал(а):
adimetrius писал(а):
а System - вполне можно прочесть вслух.

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


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

Страница 1 из 4 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/