OberonCore

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

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




Начать новую тему Ответить на тему  [ Сообщений: 66 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Четверг, 20 Февраль, 2020 17:02 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Ну так-то папки задуманы как кванты распространения подсистем. Они пишут, что это чтобы не выдумывать разных новых сущностей, будем использовать ресурсы ОС.
Потом это размылось... и это плохо. Начались коллизии, к чему и я к своему стыду активно руку приложил. Ну потому что не понял... Но подсмотрел у Хельмута, что у него в Cpc напихано всякого. А так то это совсем не так задумано. Каждый логически отдельный плагин должен быть отдельной папкой!


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

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

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

Затем, что плоский список файлов, как способ упорядочения, достиг своего предела ещё в 60-х.


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

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Иван Денисов писал(а):
Каждый логически отдельный плагин должен быть отдельной папкой!
И это удобно. Если принять это решение, то дальнейшее упрятывание исходников в подпапку Mod уже следствие -- ведь держать их на верхнем уровне подсистемы как-то стрёмно.

Но всё-таки что предложил бы Trurl?


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

Зарегистрирован: Пятница, 22 Март, 2019 07:50
Сообщения: 62
А надо как правильно поступать если вдруг нужны разные версии одно и того же плагина? Или другой человек обозвал так же модуль как и ты? Как сейчас делаете?


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

Зарегистрирован: Воскресенье, 09 Декабрь, 2018 15:14
Сообщения: 113
Откуда: Equestria
Зачем могут быть нужны две версии одного и того же плагина? Если предположить что нужен, то один из них форкается с переименованием и все счастливы.


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

Зарегистрирован: Пятница, 22 Март, 2019 07:50
Сообщения: 62
ну например когда этот плагин задействован другими плагинами - причем один из них юзает старую версию, а другой - новую


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

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

А изначально Oberon microsystems предоставляла бесплатную(емнип) услугу -- регистрацию имён подсистем.

Кстати, сообществу неплохо бы получше сорганизоваться в этом плане. Частично эту функцию выполняет Zinnamturm, но не всё туда выложишь.

Старый способ -- начинать имя подсистемы со своего префикса (i21edu, i21sys ...).


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

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
D_S__ писал(а):
ну например когда этот плагин задействован другими плагинами - причем один из них юзает старую версию, а другой - новую
dll hell?


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

Зарегистрирован: Пятница, 22 Март, 2019 07:50
Сообщения: 62
ну почти - только в моем случае jar hell - мой рекорд 5 версий видел одновременно. Не один день это все к одной версии приводили. Просто в больших проектах это огромная головная боль


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

Зарегистрирован: Пятница, 22 Март, 2019 07:50
Сообщения: 62
плохо то что как правило это не видно сразу - подключают одну библиотеку - она цепляет еще одну, та - еще одну - и т.д. И где-то уровне на пятом лежит зависимость от библиотеки определенной версии. Причем еще веселее, когда из новой версии библиотеки что-то удалят - причем безальтернативно. И не знаешь как поправить - потому что все вышестоящие библиотеки не твои.


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

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Иван Денисов писал(а):
Каждый логически отдельный плагин должен быть отдельной папкой!

Звучит привлекательно, но не работает. StdCoder ведь логически отдельный? А StdFolds?


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Trurl писал(а):
Иван Денисов писал(а):
Каждый логически отдельный плагин должен быть отдельной папкой!

Звучит привлекательно, но не работает. StdCoder ведь логически отдельный? А StdFolds?
Угу. Подсистемы нужны как вспомогательное средство упорядочивания. Но человеческий фактор тут никуда не денешь. Одному так показалось красивее, а другому этак.


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

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Возвращаясь к теме обсуждения, вопрос был о том, чтобы модули подсистемы Sub = "" лежали только в одном каталоге.
Большинство сошлось на том, чтобы это был не корень, а подкаталог. Не сошлись в выборе имени этого каталога.
Предложения:
1) Оригинальный вариант -- System
2) Какое-нибудь другое, не совпадающее с идентификатором. Например $$$ -- Trurl.

Я ратую, чтобы было одно место -- подкаталог. Будет это System или $$$ мне не принципиально. Хотя второе мне кажется даже более правильным. Потому что файлы модуля SystemFiles не будут пересекаться с Files.


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

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Коллеги, как я понимаю эту задачу - она в том, чтобы единообразно было сделано для всех подсистем. Чтобы не было исключений, особых случаев, об которые инструментальные средства и глаза спотыкаются. Если исходить из этого, надо назвать папку System.

Правила сейчас такие:
1) Имя модуля состоит из имени подсистемы (первое слово с большой буквы) и окончания. (Окончание используется как имя для модульных файлов)
2) Все подсистемные файлы находятся в одноименном подкаталоге.

Из этих правил - сейчас такие исключения:
И1) Имя подсистемы System может не указывается в имени модуля. (Трудно формализовать: если окончание имени модуля - пустое, то окончание' - это и есть все имя модуля, а имя подсистемы - System; оч запутанно.)
И2) Символьные и кодовые файлы подсистемы System хранятся в Code/ и Sym/ в рабочей папке ББ
И3) Прочие файлы с исходными текстами модулей подсистемы System хранятся в подкаталоге System

Если хранить подсистему System не в System/, а как-то иначе назвать папку, то, с практической стороны, И2 и И3 превратятся в:
И4) Все файлы подсистемы System находятся в подкаталоге таком-то.

Уже лучше, конечно; но можно вообще избавиться от И2-И4, если хранить файлы подсистемы System по общим правилам - в папке System.

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

Евгений, А для чего нужно, чтобы не пересекалось с идентификатором? Сейчас же пересекается, и кмк норм.

В моей практике самое большое неудобство - когда дети делают модуль Vasya, и он попадает в подсистему System. Красивого и простого решения в голову не приходит, как это разрулить.


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

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Пусть будет System, чтобы было меньше путаницы для тех, кто привык.


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

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
У меня нет чёткого мнения по поводу System, именно потому, что
Цитата:
...когда дети делают модуль Vasya...

Детей (и "детей") бы, конечно, научить, как правильно.
В общем, я с одной стороны поддерживаю предложение Евгения, с другой могу предложить, как всё "усложнить".

Если модуль создан в System/Mod, то его компиляция происходит в System/*. И поиск, соответственно модуля без подсистемы идёт сначала в System. Все остальные модули без подсистемы отправляются в корень, как и сейчас. То есть исключение для System, так или иначе, оставлять в каком-то виде надо.


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

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Это вообще странно, когда появляются папки Code и Sym в корне. Это ведь не названия подсистем. Так что я всецело тут поддерживаю идею Евгения.


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

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Так и "Docu" не название подсистемы. Да и "System" тоже. Как гласит руководство, из стандатных папок подсистемами являются Comm, Dev, Form, Obx и Text.


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

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Ну они (Std, Host и др.) там изначально есть... И уже сидят ровно. Хотя Docu явно вносит смуту. Лучше бы называлось Help. Тогда не было бы пересечения с System/Docu.


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

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

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


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

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


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

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


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

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