Записки реликта - Post a comment [entries|archive|friends|userinfo]
Latimeria chalumnae

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Nov. 28th, 2007|08:05 pm

uri
…но 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-версии. Эта библиотека неидеальна, но она лучшая из существующих, и появления достойного конкурента в ближайшее время не предвидится.
Link Read Comments

Reply:
From:
(will be screened)
Identity URL: 
имя пользователя:    
Вы должны предварительно войти в LiveJournal.com
 
E-mail для ответов: 
Вы сможете оставлять комментарии, даже если не введете e-mail.
Но вы не сможете получать уведомления об ответах на ваши комментарии!
Внимание: на указанный адрес будет выслано подтверждение.
Username:
Password:
Subject:
No HTML allowed in subject
Message: