OberonCore
https://forum.oberoncore.ru/

Необход-ть KOL для ББ, альтернативы
https://forum.oberoncore.ru/viewtopic.php?f=47&t=2841
Страница 1 из 2

Автор:  bohdant [ Четверг, 09 Сентябрь, 2010 17:30 ]
Заголовок сообщения:  Необход-ть KOL для ББ, альтернативы

Хорошая новость!
Но все таки может не КОЛ?
Уж очень онь "заточен", есть другой кандидат ACL.

Автор:  Пётр Кушнир [ Четверг, 09 Сентябрь, 2010 17:48 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

кому некуда девать энергию, предлагаю мирную цель: OpenGL гуй...

Автор:  Oleg N. Cher [ Четверг, 09 Сентябрь, 2010 17:50 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

bohdant писал(а):
есть другой кандидат ACL.

Не слышал о таком ни разу... Вы имеете ввиду http://ru.wikipedia.org/wiki/ACL? Если нет, ссылка приветствуется.

Автор:  Oleg N. Cher [ Четверг, 09 Сентябрь, 2010 17:53 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

Так и знал: Оберон-сообщество спросит "Почему KOL?", а Дельфи-сообщество "Почему Оберон?" :) Новых задач по отрисовке интерфейсов на GL не ищу, тихонько делаю то, что мне нужно, результатов не зажимаю, ищу помощников...

Автор:  bohdant [ Четверг, 09 Сентябрь, 2010 17:55 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

Oleg N. Cher писал(а):
bohdant писал(а):
есть другой кандидат ACL.

Не слышал о таком ни разу... Вы имеете ввиду http://ru.wikipedia.org/wiki/ACL? Если нет, ссылка приветствуется.

Нет имелось в виду другое

Кстати ссылочка есть на сайте KOL http://kolmck.net/rindex.htm

ACL - API Controls Library. Библиотека примерно того же плана, что и KOL (не настолько велика). Основана на классах. Дает код немного больше, чем KOL. Аналога MCK для визуальной разработки нет.
Автор: Боковиков А.


Но ссылка битая, домой прийду - могу выложить.

Автор:  bohdant [ Четверг, 09 Сентябрь, 2010 17:56 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

Oleg N. Cher писал(а):
Так и знал: Оберон-сообщество спросит "Почему KOL?", а Дельфи-сообщество "Почему Оберон?" :) Новых задач по отрисовке интерфейсов на GL не ищу, тихонько делаю то, что мне нужно, результатов не зажимаю, ищу помощников...


Оберон-сообщество разное есть:) я двумя руками за!
Давно сам собирался заняться, но времени не хватает :)

Автор:  Пётр Кушнир [ Четверг, 09 Сентябрь, 2010 18:03 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

бессмысленное и беспощадное занятие, имхо. в ББ можно с теми же затратами времени рисовать свои эксклюзивные контролы.

Автор:  Oleg N. Cher [ Четверг, 09 Сентябрь, 2010 18:18 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

Сподручнее разрабатывать на WinApi, или на BlackBox API, или на GL — каждый решает сам. Если кому-то что-то не нужно, то другому может быть нужно. Чисто впротивовес. Часть задач (и довольно большая) не имеет смысла делать портабельными. А разработка на WinApi муторна. А на KOL/MCK удобна. А ACL я не пробовал, но, оказывается, Владимир Кладов давно о ней в курсе, что не мешает ему трудиться над KOL. Можно попытаться сделать KOL и портабельной. Но и Wine ещё никто не отменил. Я хотел бы перевести дискуссию из плоскости "а нафига мне и тебе это надо" в более конструктивное для начатой мною темы русло.
Выдержка из книги о KOL:

Цитата:
0.2. Первые выводы. Необходимость уменьшения кода: кому это нужно?

Тема написания минимальных (по размеру) приложений на Delphi раскрыта достаточно широко. Любой новичок может легко найти информацию о том, как сделать свое приложение маленьким. Практически любой источник утверждает, что нужно отказаться от VCL и писать на чистом API (Application Programming Interface Интерфейс Программирования Приложений). Довольно часто упоминается и возможность использовать вместо VCL другие библиотеки - ACL и KOL. Я же являюсь убежденным сторонником того, что на чистом API писать не нужно, кроме тех случаев, когда по-другому выполнить работу просто невозможно.

Объясню, почему. API-функции обычно достаточно универсальны, и число и типы параметров, которые используются в функциях API, располагают к появлению изрядного числа ошибок. (Например, вместо целого в некоторых случаях может на том же месте передаваться указатель на строку типа PChar). Код с использованием прямого вызова этих функций выглядит громоздким, неудобен для чтения и модификации. А, например, рисование на так называемом DC (Device Context) путем прямого обращения к методам GDI (Graphic Device Interface) - это искусство более чем нетривиальное. Лучше все-таки во многих случаях использовать инкапсуляции в объектах или классах, пусть даже более простых, чем VCL.

Впрочем, я никого не принуждаю использовать Key Objects Library. Но опыт показывает, что создание и сопровождение приложений на KOL нисколько не сложнее, чем на VCL (нужна лишь некоторая практика, так же как и для начала работы на VCL). В то же время, размеры KOL-программ - вполне сопоставимы с тем, что возможно получить ручной работой через API.

Теперь к вопросу о том, зачем вообще уменьшать код приложения. Зачем - это каждый решает сам. Или он хочет сэкономить свой трафик и трафик пользователей при загрузке своего приложения на интернет. Или он пишет ActiveX - приложение, которое загружается с сервера на клиентскую сторону (и время загрузки так же желательно сократить). Или же он пишет CGI-приложение, и желает разгрузить сервер, которому придется выполнять сотни и тысячи таких CGI-приложений в секунду. Разумеется, большая программа размером с 400 Кбайт тоже может считаться CGI-приложением, вот только на его запуск у системы наверняка уйдет в несколько раз больше ресурсов и времени. Да, писатели вирусов и Троянов - это еще одна категория "программистов" (так сказать), которым нужно писать маленькие программы. Но пусть уж лучше они тоже делают свои грязные поделки поменьше размером, чем принимать письма с троянскими вложениями на полмегабайта.

В последнее время "мода" на создание как можно больших по размеру приложений (в качестве доказательства своей крутости) сходит на нет. Несмотря на то, что большинство пользователей интернета уже не ограничены скоростью доступа в Интернет (и со временем эти скорости только растут), очень многие из них начинают понимать, что размер приложения практически никак не связан с его возможностями, качеством исполнения, удобством использования. А говорит лишь о квалификации программиста (и здесь связь как раз обратная: у матерого программиста код, как правило, будет намного меньше, чем у начинающего).

Автор:  Пётр Кушнир [ Четверг, 09 Сентябрь, 2010 19:51 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

КОЛ был полезен, когда я использовал fpc а теперь - нет, ведь есть ББ.
Если вас не затруднит, опишите проект, в котором непременно будет использоваться BB-Kol?

Автор:  Сергей Губанов [ Четверг, 09 Сентябрь, 2010 21:07 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

На сколько я это себе представляю, КОЛ знаменита тем, что написана специфическим образом так, что Дельфийский компилятор во время компиляции берёт только то, что реально используется, поэтому исполняемые файлы маленькие. Но в модульных расширяемых системах (а-ля Оберон) аналогичный фокус компилятору проделывать запрещено так как в них модули загружаются и выгружаются динамически. Кроме того, доступ к экспортируемым модулем объектам может быть получен через метапрограммирование (рефлекшн) то есть ничего выбросить из модуля "лишнего" компилятор не имеет права. В связи с этим, если написать КОЛ на Обероне, то она напрочь потеряет своё главное достоинство - маленький размер бинарника.

Автор:  Oleg N. Cher [ Четверг, 09 Сентябрь, 2010 21:20 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

Меня BlackBox интересует в первую очередь как компилятор удобного ЯВУ со многими достоинствами для разработки программ для Windows, а не как метасистема с кучей собственных особеностей. Линкер ББ умеет компоновать целевые программы, работающие без системы ББ, и генерирует достаточно компактные exe-файлы. Энергично выбрасывать (smart linking) неиспользуемый в программах код (dead code) он не умеет, но эта задача, в принципе, решаема. Так что основные достоинства библиотеки KOL могут показать свою мощь и на Оберон-языках. Повторюсь: меня очень мало интересуют Оберон-системы, сколь бы мощными достоинствами ни обладали. А вот Оберон-языки интересуют, но нужно больше инструментов для решения возникающих повседневно задач, коим и является KOL. И есть ещё совсем немаленькое сообщество KOL, для которого мой порт может стать поводом заинтересоваться Оберонами. Кроме того, я вовсе не собираюсь выполнять весь объём работ по портированию один, просто делюсь с вами тем, что сделал в свободное время.

Автор:  Oleg N. Cher [ Четверг, 09 Сентябрь, 2010 21:29 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

Пётр Кушнир писал(а):
Если вас не затруднит, опишите проект, в котором непременно будет использоваться BB-Kol?

Не затруднит. Это небольшая программа для сохранения/восстановления настроек Windows.

Пётр, Вы наверное понимаете, что ни один программист не обязан делать то, что интересно Вам, притом именно таким способом, который приемлем именно для Вас, а вовсе даже заинтересован в своих идеях и деятельности. Мировоззрение и видение задач у каждого своё. Что для Вас потеря времени, для меня — увеличение опыта и дополнительная возможность пообщаться с таким интересным человеком как Владимир Кладов. И мотивацию каждый находит свою сам. Поэтому если Вас интересует разработка GUI под GL, то ради бога, разрабатывайте, кто ж запрещает. Но не надо душить своими речами в зародыше то, что хоть кем-то делается на Оберонах, ладно?

Автор:  Axcel [ Четверг, 09 Сентябрь, 2010 21:37 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

А не логичнее ли прикрутить KOL к XDS?

Автор:  Пётр Кушнир [ Четверг, 09 Сентябрь, 2010 21:42 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

Oleg N. Cher писал(а):
Но не надо душить своими речами в зародыше то, что хоть кем-то делается на Оберонах, ладно?
Как сказал О. Хайям
Цитата:
Ты лучше голодай, чем что попало есть,

И лучше будь один, чем вместе с кем попало.

Автор:  Oleg N. Cher [ Четверг, 09 Сентябрь, 2010 21:45 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

Axcel писал(а):
А не логичнее ли прикрутить KOL к XDS?

Да, я об этом подумываю :D

Автор:  Oleg N. Cher [ Четверг, 09 Сентябрь, 2010 21:50 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

Пётр Кушнир писал(а):
Как сказал О. Хайям
Цитата:
Ты лучше голодай, чем что попало есть,
И лучше будь один, чем вместе с кем попало.

"Если не можешь сказать ничего хорошего, лучше молчи" (Приписывается вроде Будде?)

Автор:  Пётр Кушнир [ Четверг, 09 Сентябрь, 2010 22:02 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

Польза от этого всего - чисто маркетинговая, показать КОЛовцам что есть такая штука, как ББ.

Автор:  Иван Кузьмицкий [ Четверг, 09 Сентябрь, 2010 22:04 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

Ну и хорошо.

Автор:  Пётр Кушнир [ Пятница, 10 Сентябрь, 2010 06:05 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

Oleg N. Cher писал(а):
Может Пётр Кушнир мне посоветует на чём лучше написать сохранялку виндового реестра?
fpc+KOL :) чтобы не захламлять репозиторий ББ подобными, кхм, инструментами...

Автор:  Oleg N. Cher [ Пятница, 10 Сентябрь, 2010 11:33 ]
Заголовок сообщения:  Re: Портируем библиотеку KOL (Key Object Library) под BlackB

Благодарю bohdant'а, Ивана Кузьмицкого и Александра Ильина за моральную поддержку. :) Не зря значит я в сообщество вышел. Приятно.

2Пётр. Не, не катит, мне динамическая модульность нужна. На dll уже плагины изобретал, это не то. И вообще, неинтересно Вам — кыш с поля.
Вы, видимо, великий борец за чистоту и неприкосновенность Оберон-технологий, защитник их строгой академичности и, дай Вам волю, Вы бы наверное отстреливали всех программистов, чья низкая деятельность, порочащая Обероны совершенно неуместной привязкой к Windows, Вам не нравится. КАК? Кто-то посмел решать свои низменные и безсмысленные задачи, и ещё и безсовестно выставлять свой галимый код на всеобщее светлейшее обозрение?! А, между тем, толпы истосковавшихся по Оберону КОЛовцев, услышав лишь намёк на существование KolBB, хлынули бы толпами в Оберон-сообщество, осознав всю глубину своего падения, рыдая и каясь, и вопрошая, куда бы, ну куда бы направить своё безлимитное время и неуёмный энтузиазм, а Вы стали бы их утешать и наставлять: что им делать нужно, а чего, напротив, не следует... :)

Господа, не нужно рассматривать KOL только как решение для GUI и альтернативу GTK/Qt, только непереносимую. Нет. Это в первую очередь удобный инструмент для решения практических задач под Windows. Сравнимый по удобству и скорости разработки с VCL. А по размеру и оптимальности получаемого кода с WinApi. Это средство сделать работу с WinApi более безопасной. В его огромной массе объектов и процедур есть и вполне портабельные, есть и не связанные с GUI вообще. Мой опыт подсказывает, что для конечного пользователя неважно какие там задействованы решения — GTK, Qt или KOL, ему важно чтобы были красивые кнопочки и удобный интерфейс. И линукс-пользователю большей частью по барабану какие у него пакеты установлены — GTK, Qt или Wine.

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