|
Nov. 28th, 2007|08:05 pm |
…но Qt просто развращающе удобна и для программиста, и для пользователя. Попробую объяснить почему.
Начну с программистской стороны, потому что именно взгляд на Qt "изнутри" окончательно определил мою позицию в вопросе "Qt vs. Gtk".
Во-первых, писать приложения на Qt можно действительно очень быстро. Причём это не недоброй памяти "дельфи", в которых натягивалось мышкой стандартное говноокно со стандартными говновиджетами, на результат, скажем, масштабирования которого нельзя было взглянуть без слёз: нет, в Qt очень грамотно убрана "под ковёр" именно рутинная, нетворческая часть работы приложения, а всё, над чем нужно сохранять контроль, оставлено на откуп программисту. В каком-то смысле Qt это такой маленький локальный коммунизм в одной отдельно взятой ситуации: идиотский, конвейерный труд автоматизирован, программисту оставлена область практически чистого творчества. Слоган Trolltech, "Code less — create more", как ни странно, отражает действительность.
Во-вторых, когда твоё приложение без малейших изменений в коде собирается не только под FreeBSD, Mac, Windows и Linux, но и под кучу платформ, даже название которых ты слышал всего пару раз в жизни — это круто. У Gtk такой переносимости и близко нет; уже виндовский порт Gtk это издевательство над здравым смыслом.
А в-третьих, Qt делает незаметными многие раздражающие стороны C++; глядя на троллтеховские дополнения к языку, временами, конечно, вспоминаешь 10 правило Гринспуна, понимая, насколько изящнее то же самое выглядело бы на Схеме или Эрланге; но "за неимением гербовой пишем на простой" — для программиста, живущего в стране, где сами слова "Схема" и "Эрланг" знают несколько сотен человек, Qt — наилучший шанс минимально соприкасаться со свинцовыми мерзостями вроде ручной сборки мусора, мешанины из директив условной компиляции, указателей на void и прочего типичного для C/C++ говна.
Теперь о пользователях. Программы на Qt (не говорю сейчас о программах для KDE; инфраструктуру KDE всё же придумывали не вполне здоровые люди):
- очень редко (забыл, когда было последний раз) падают, потому что работу с памятью отчасти берёт на себя библиотека,
- никогда (ни разу не сталкивался, кажется) не кажут крокозябры вместо русских букв,
- имеют приятный на взгляд интерфейс — чтобы написать уродливую программу на Qt, надо сильно постараться,
- почти всегда собираются пользователем, не имеющим программистских навыков, на любой, сколь угодно экзотической системе (про это как-нибудь расскажу подробнее, если интересно — я сейчас как раз с такой ситуацией имею дело на одной из работ),
- легко расширяемы, за счёт читабельного кода (ну, это можно было бы отнести к программистской части), встроенного в библиотеку жабаскрипа (жабаскрип, кстати, очень хороший язык — то, что в Сети им пользуются в основном криворукие пионеры, создало ему совершенно незаслуженную репутацию) и удобной морды к скриптам на Perl/Python/etc.
Поэтому за Qt (особенно после выхода четвёртой версии) будущее, и я всегда стараюсь выкинуть Gtk-программу после появления Qt-версии. Эта библиотека неидеальна, но она лучшая из существующих, и появления достойного конкурента в ближайшее время не предвидится. |
|