OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 20 Сентябрь, 2019 04:53

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




Начать новую тему Ответить на тему  [ Сообщений: 83 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 22 Июль, 2013 19:58 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2367
Евгений Темиргалеев писал(а):
Вам же если так не нравится, копируйте в какую-нибудь подсистему с большой буквы, и всё будет хорошо...

Да скопирую в Omc... а вот с i21sys сложнее, у всех новых модулей идут ссылки с реализацией через него. Таким образом для Красноярской сборки придется делать свой Component Store. Даже имя присмотрел — compbox.com пока свободен :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 22 Июль, 2013 21:13 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4489
Откуда: Россия, Орёл
Иван Денисов писал(а):
Евгений Темиргалеев писал(а):
Неужели Вы никогда не нарушали соглашений?...
Евгений, рад что вы признали себя нарушителем :) признать вину — пол-пути к исправлению. Разумные соглашения стараюсь на нарушать, особенно те которые разрушают красоту и гармонию Системы.
Насчёт красоты и гармонии --- то что снаружи красиво, изнутри может оказаться и неприглядно... А поскольку разбор этого вопроса проводил довольно подробно и результаты изложил письменно (см. п. 1), то Вашу точку зрения и аргументированную критику моей, был бы рад видеть в библиотеке OberonCore в виде подобной заметки...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 22 Июль, 2013 21:24 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
Пётр Кушнир писал(а):
Это обычный вывод, компоненты как объект дистрибуции теряют свой смысл.
Дистрибуция переводится как "распространение". Компонентное ПО иначе как в виде компонентов построено быть не может, тем более на Обероне. Стало быть, компоненты как объект дистрибуции никогда в принципе не могут потерять свой смысл. Поэтому данный вывод ложный.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 22 Июль, 2013 21:29 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Но в твоём примере мы имеем ПО как объект дистрибуции, а не компонент.
Дистрибуция компонентов выглядит вот так http://oberoncore.ru/bbcc/subs/start


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 23 Июль, 2013 19:24 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Набросал пару коллекций в Lists (ассоциативный массив (пока один-к-одному) на операциях и аналог SET для произвольных объектов), засёк время. В среднем выходит по 4 часа, чтобы написать модуль простой коллекции с нуля, без всяких оптимизаций, решением "в лоб". Плюс примеры, чтобы убедиться в первичной работоспособности.

Одно облегчение было, использовал компонент ListsLinear, динамический массив (а в реализации - массив массивов, с блочным выделением ячеек), то есть, необходимости писать самое трудное не было.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 23 Июль, 2013 21:21 

Зарегистрирован: Пятница, 26 Август, 2011 23:42
Сообщения: 339
Откуда: Россия, Самара
Реализацию можно взять из glib, не путать с glibc. Содержит, списки, хэши, деревья и т.д

Скачать
http://ftp.acc.umu.se/pub/gnome/sources/glib/2.37/

Документация на русском.
http://www.opennet.ru/search.shtml?excl ... words=glib

Всё же легче, переделать готовую реализацию.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 23 Июль, 2013 21:30 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
У вас 4 часа. Запускать таймер?
Компонент должен быть рассчитан на работу в ББ со сборкой мусора и прочими плюшками.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 23 Июль, 2013 21:55 

Зарегистрирован: Пятница, 26 Август, 2011 23:42
Сообщения: 339
Откуда: Россия, Самара
Я не для соревнования написал. Я лишь подумал, что кому то в данной теме, будет полезны исходники glib. Так как в них многое реализовано.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 23 Июль, 2013 21:57 

Зарегистрирован: Пятница, 26 Август, 2011 23:42
Сообщения: 339
Откуда: Россия, Самара
Если уж совсем проще, сделать биндинг к glib + звернуть по вашему способу(приводить в реал тайме).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 23 Июль, 2013 22:03 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Многое реализовано в примерах к книге Вирта viewtopic.php?f=90&t=3373


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 02 Сентябрь, 2013 17:36 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2367
Вот решил в очередной задаче не писать с нуля Lists, в воспользоваться наработками Петра.

Компилирую... ListsObxOp
Rnd:=ypkMathRandom,
неужели в примере нельзя обойтись стандартным генератором случайных чисел?
И дальше DynStrings...

Ваши наработки было бы удобнее использовать в проектах, если было бы меньше взаимных зависимостей на разные не базовые компоненты.

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

Wiki Хрупкий базовый класс


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 02 Сентябрь, 2013 17:44 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
А что, есть стандартный генератор?

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 02 Сентябрь, 2013 17:56 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Ну и смысла дублировать везде строки, которые лежат рядом в репозитории тоже не вижу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 02 Сентябрь, 2013 17:58 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2367
Пётр Кушнир писал(а):
А что, есть стандартный генератор?
ObxRandom всегда идет в комплекте. Для большинства задач его хватает сполна.


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

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2367
Пётр Кушнир писал(а):
Ну и смысла дублировать везде строки, которые лежат рядом в репозитории тоже не вижу.
Ну я же ставлю только Lists. Мне не нужен весь ypk.

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


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

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2367
Иван Денисов писал(а):
Пётр Кушнир писал(а):
А что, есть стандартный генератор?
ObxRandom всегда идет в комплекте. Для большинства задач его хватает сполна.
Самоцитирование )) И тот содержит всего две процедуры, которые тоже копирую в код модулей, когда проект готов. Зачем таскать целую папку ради одного модуля.


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

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Я не готов импортировать Obx, уж извините. Всё равно что для переменной счётчика в цикле использовать Integers.
Иван Денисов писал(а):
И весь репозиторий я уже пытался как-то скачать, очень хотел попробовать ваш генератор релизов, у нас была уже переписка про то, что он несобираемый так как там часть закрытых модулей так и мучаюсь своим непатриотичным питоновским скриптом для сборки релизов приложений
Иван, я стараюсь поддерживать актуальность копии подсистемы ypk в составе репозитория bbcc из соображений вежливости. Но я не могу всё время проверять её консистентность в рамках репозитория, возможно она слишком динамичная, не могу же я обсуждать с сообществом каждую правку, у меня просто не хватит времени на код. Самую последнюю версию можно найти в репозитории bb.open, я работаю в рамках этого репозитория. По техническим вопросам я готов отвечать в конкретных темах.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 02 Сентябрь, 2013 18:29 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
Я почему и поднимаю раз за разом эту тему, надо уже что-то придумать, будут в ББ общеупотребимые подсистемы помимо стандартных из архива сборки или не будут?
Пусть у них будет репозиторий, предельно строгие требования, куча ассертов внутри и строгий модератор. Всё же лучше, чем раз за разом копировать процедуры рандомизации или набившие оскомину преобразователи utf8 bytes <=> CHAR.
Последние я уже скопировал в StringsUtf и дал себе обещание никогда больше не копировать, [эмоции]а иначе ад и холокост. Какой там DRY, жуть же творится.[/эмоции]


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

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2601
Откуда: Россия, Ярославль
В текущем состоянии сообщества, думаю, некому обсуждать реальное ТЗ на стандартную подсистему, а раз всем нормально и так, то наверное, правильно будет считать вопросы про невозможность компиляции моветоном. Все ж погромисты, должны понимать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 02 Сентябрь, 2013 19:15 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
Иван Денисов писал(а):
очень хотел попробовать ваш генератор релизов, у нас была уже переписка про то, что он несобираемый так как там часть закрытых модулей :) так и мучаюсь своим непатриотичным питоновским скриптом для сборки релизов приложений :(
Вот вам и здравствуйте, а что там закрытого-то? Так и пылятся компоненты зазря!


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

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


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

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


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

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