Comments: |
Гном само собой душить, но я использую ровно три софтины, у которых есть ГУИ: xmms, firefox, и gmplayer, и они все три хотят GTK. Чтобы хоть кто-то использовал QT, я и не припомню (периодически приходится гонять Ethereal либо xcdroast, и там тоже никакого qt-фронтенда).
Соответственно - я qt уже давно просто не ставлю, смысла нет.
Тем более, что граждане вообще пидорасы и за копирайт.
Единственная софтина из-под QT, которую я в жизни своей ставил, была klines (игра в шарики, популярная среди русских народных секретарш и ресепционисток)
Такие дела Миша
| From: | uri |
Date: | November 28th, 2007 - 07:22 pm |
---|
| | | (Link) |
|
Прошу прощения за мудацкий лапидарный стиль, болит голова, почти не соображаю. но я использую ровно три софтины, у которых есть ГУИ: xmms, firefox, и gmplayer, и они все три хотят GTK. Чтобы хоть кто-то использовал QT, я и не припомнюО, круто. Нy, честно говоря, у меня на компьютере Qt-приложения тоже совсем не доминируют: Firefox, Thunderbird, LogJam (LJ-клиент), jpilot (средство синхронизации с КПК), Emacs с GUI-мордой, Inkscape (векторный редактор), nt (менеджер загрузок), meld (графический diff/merge), Stardict (словарь, показывающий словарные статьи во всплывающих окнах при выделении слова), Audacious (проигрыватель аудио) и, ясное дело, GIMP написаны на Gtk; Recoll (морда к локальной поисковой машине), Psi (клиент IM-систем), KDissert (средство создания интеллект-карт), K3b (средство прожига дисков — XCDRoast "из коробки" в последнее время отказывается работать, а разбираться, в чём дело, мне лень), KTorrent, KPDF с KDVI и Konsole (KDE-шный эмулятор терминала; я в принципе пользуюсь WindowMaker, но так люблю организацию любого контента во вкладках, что мирюсь с тем, что он тащит за собой в память пол-KDE) — на Qt; файловый менеджер (mc) и видеопроигрыватель (mplayer) я использую консольные; на чём написан FBReader (читалка для книжек) я не помню, но, кажется, тоже на Gtk; так что Qt-приложения даже оказываются в меньшинстве (и, как видно из этого списка, ни одно из них нельзя назвать критически важным — разве что K3b, но я всё равно умею пользоваться mkisofs и cdrecord из командной строки, регулярно приходится на одной из работ). Однако же, во-первых, авторы Gtk ориентируются на кретиническую концепцию "human interface", в соответствии с которой последовательно похабят библиотеку, удаляя из неё полезные функции (яркие примеры — из стандартного Gtk-шного диалога открытия файла убрали возможность явного редактирования адреса файла, после чего скопировать в этот диалог путь из, скажем, терминала стало невозможным; возможность назначать пунктам меню горячие клавиши, просто нажав эти клавиши при выделенном пункте меню, по умолчанию отключена, и включить её в некоторых программах теперь просто нельзя), пидорасы-ненавижу. А во-вторых, я видел код Gtk и Qt-приложений изнутри, и пытался писать с использованием обеих библиотек. Так вот Gtk это ужас, летящий на крыльях ночи. То есть и Gtk, и Qt, конечно, это ужас, но по разным причинам. Gtk+Glib (а именно эту связку надо сравнивать с Qt) — это кошмарная попытка создать C++ средствами чистого C. Читабельность кода при этом такая же плохая, как у чистого C, а тормозит он при этом как код на C++. Плюс к тому Gtk заставляет программиста совершать кучу ритуальных ужимок и прыжков, которые в цивилизованном мире давно принято прятать глубоко внутрь библиотеки. Написание своих Gtk-приложений от этого становится мучительным, а доработка чужих Gtk-приложений — вообще практически невозможной. Qt — это "государство в государстве". Это, строго говоря, не совсем библиотека для C++, скорее экзотический диалект последнего. У неё собственный препроцессор (собственно, и делающий из кода на Qt код на C++), своё средство интернационализации (не совместимое c GNU gettext), своя система сборки (точнее, управления управлением сборкой; аналог не make, но automake/autoconf) и даже собственная реализация классов-шаблонов, STL вместе c Qt лучше не использовать. По этому поводу Qt жёстко завязана на конкретные компиляторы и средства разработки, не имеет привязок к другим языкам (существуют приличные биндинги для единственного языка — Питона, PyQt; они отчасти написаны роботом и до сих пор толком не документированы, но народ всё равно рад до усрачки, потому что C/C++ и все его потомки уж больно гадостны) и плохо сочетается с библиотеками, не знающими о существовании Qt. Строго говоря, за это Qt следовало бы не любить ещё больше, чем Gtk, но… *продолжу в следующем комменте, а то что-то дофига понаписал*
| From: | uri |
Date: | November 28th, 2007 - 08:05 pm |
---|
| | | (Link) |
|
…но 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-версии. Эта библиотека неидеальна, но она лучшая из существующих, и появления достойного конкурента в ближайшее время не предвидится.
| From: | uri |
Date: | November 28th, 2007 - 08:06 pm |
---|
| | | (Link) |
|
Тем более, что граждане вообще пидорасы и за копирайт.
Это, строго говоря, не совсем так. Позиция Trolltech по вопросам копирайта выглядит чем дальше, тем симпатичнее. Исходно Qt распространялась под довольно скотской лицензией (из-за чего существенно худшая Gtk и получила ненормально широкое распространение). Потом появилась GPL-версия под Linux. А начиная, кажется, с версии 4.0 Qt доступна под GPL на всех целевых платформах — но, естественно, если кто-то хочет разрабатывать закрытую софтину на основе Qt, ему придётся купить проприетарный вариант (который, кстати, ничем не отличается от свободного в лучшую сторону). На мой взгляд, такая позиция существенно лучше, скажем, BSD-подобные лицензии, под которыми распространяется большинство разрабатываемого корпорациями открытого софта: BSD-лицензированный код доступен проприетарщикам на халяву, а за dual-licensed они должны платить деньги (в то время как разработчикам свободных программ тот же код достаётся бесплатно); и возможность распространять модифицированный софт в составе закрытого продукта у проприетарщиков меньше именно в случае двойной лицензии.
| From: | mitajchik |
Date: | December 21st, 2007 - 05:38 pm |
---|
| | Обещанная ссылочка: | (Link) |
|
| From: | yushi |
Date: | December 22nd, 2007 - 01:06 am |
---|
| | Re: Обещанная ссылочка: | (Link) |
|
Угу. Спасибо. В свою очередь, можешь глянуть: d_blogs@lj. У них даже SVN-репозитарий уже есть, правда, пока пустой. =)
From: | (Anonymous) |
Date: | July 12th, 2009 - 10:25 pm |
---|
| | виагра | (Link) |
|
+1 | |