- MiniGUI
-
MiniGUI
MiniGUI или HMG (Harbour MiniGUI) - библиотека графического пользовательского интерфейса (GUI) для компиляторов Harbour / xHarbour под Windows. Разрабатывается начиная с 2003 г., автор - Роберто Лопез (Roberto Lopez) (Аргентина). Имеется "расширенный" вариант этой библиотеки - HMG Extended Edition (HMG Ext.), имеющий некоторый добавления и отличия от "оригинала"; разработчики - MiniGUI Team (Grigory Filatov, Jacek Kubica, Janusz Pora - Григорий Филатов, Яцек Кубица, Януш Пора).
Как пишет сам Roberto Lopez:
- - - - -
MiniGUI (или HMG - Harbour MiniGUI) - это GUI-библиотека (GUI - Graphical User Interface; Графический Интерфейс Пользователя) для компиляторов Harbour и xHarbour для Windows.
Основной целью создания этой библиотеки было дать xBase-программистам, работающим с (x)Harbour-компиляторами, легкий путь для доступа к элементам GUI API (Application Programming Interface) операционной системы Windows (для интересующихся "а как насчет Linux?" - возможно, когда-нибудь... или обратите внимание на имеющую и Windows-, и Linux-версии GUI-библиотеку HWGUI... но по ней все вопросы - к ее фанам).
MiniGUI не основана на классах (это не "реальное" объектно-ориентированное программирование - OOP ). Она воплощает "псевдо-ООП" модель (It implements a semi-oop model). Моя цель состоит в том, чтобы получить большинство преимуществ ООП-подхода, скрыв его "темные стороны" ('dark side'). :)
По моему скромному мнению, эта модель идеально подходит для большинства xBase-программистов, поскольку целью создателей "исходной" системы программирования для баз данных под MS DOS - dBase (фирма Ashton Tate, 1980-е годы... господи, как же это было давно!..) - и было получить максимум "мощи" при прикладывании программистом минимальных усилий (to obtain the maximum power with the minimum programming effort). Это и стало ключом к огромному успеху dBase в те годы (и не потеряло актуальности и ныне: взять хоть FoxPro - это же прямой потомок dBase!).
В большинстве своем Windows-программы для xBase-программирования включают в себя компиляторы, привязанные к стандартному GUI-ООП-"движку" (consist of a xBase compiler tied to a standard OOP GUI engine). В результате получаются "шизоидные" языки - очень хорошие во всех отношениях... за исключением работы с GUI.
Я попытался создать GUI-систему, совместимую с xBase-философией и в то же время не следующую излишне строго какой-либо стандартной парадигме программирования.
На некоторые идеи "полу-ООП"-модели MiniGUI я был вдохновлен при изучении BASIC-компилятора Rapid-Q Уильяма Ю (were inspired by William Yu's outstanding Rapid-Q basic compiler). Я хочу публично поблагодарить его за драгоценные (brilliance) идеи и "открытое видение" (open minded vision) науки (и искусства!) программирования.
- - - - - - - -
Ссылки
Wikimedia Foundation. 2010.