Мне просто на работе однажды сказали «пиши гуй!». Взял ассистент в зубы и начал писать.
А мне самому не хватает кое-каких инструментов. Поэтому для начала выбрал библиотеку виджетов, наиболее удовлетворяющую мои потребности и ограниченные способности, а потом «методом тыка» стал понемногу писать :)
// естественно, книжки есть только в электронном виде и только на английском языке, а т.к. полноценной читалки с экраном А4 у меня нет, то эти книжки я не читаю, а пользуюсь сайтом http://developer.gnome.org
Нет никаких требований. Просто зачем использовать плюсы, если ни в одной моей задаче нет потребности во всяких полиморфизмах/наследованиях/шаблонах и т.п. А на сях с железяками намного приятнее работать.
// и да, плюсы я не знаю вообще, а си знаю самую малость =)
>Не за «огромные кнопки», просто идея наколбасить огромную ООП-систему на си дацкая, синтаксически очень избыточно.
Дурилко! благодаря Сишному API Gtk можно использовать почти из любого языка программирования. А благодаря GObject объектная система Gtk вообще не приявязана к языку. А Qt гвоздями прибит к C++.
к freepascal, CL, D, Python и пр. языкам же прикрутили, посмотрел сходу на байндинг к CL - кода совсем немного, так что «прибитость» слегка преувеличена
Gtk имеет такую замечательную штуку как GObject Introspection, которая позволяет писать биндинги намного более проще. А для Qt каждый биндинг поддерживать отдельно.
Вообще я когда для себя решил изучить кроссплатформенную библиотеку, взамен Borland C++ то сразу встал выбор между GTK и Qt. C Qt на тот момент было непонятно с лицензии, да и с кроссплатформенностью была беда у Qt. Выбрал однозначно GTK и не пожалел, поскольку потом была необходимость написать пару приложений на gtk-perl - очень удобно.
А зачем? Во-первых, C и C++ без проблем можно совмещать в одном проекте, во-вторых, код C очень легко переносится на C++ (а НОРМАЛЬНЫЙ сишный код компилируется и сишным, и плюсовым компилятором, то есть нужно просто заюзать Qt).
В плюсах не надо сношаться с ручными выделением/освобождением памяти и ресурсов. Есть удобная библиотека stl, не нужно сношаться со всякими мострами типа tree.h. В результате код получается короче, читабельнее, проще в отладке и местами даже быстрее.