LINUX.ORG.RU
ФорумTalks

Все так ругают GTK и хвалят Qt. Но почему тогда многие крупные проекты пилятся именно на GTK и не собираются переходить на Qt?

 , ,


1

3

Примеры проектов - да море их! Chromium, FireFox, LibreOffice, GIMP, Inkscape, MonoDevelop, Pidgin, Wireshark, Thunderbird, Eclipse, VLC, etc, etc, etc.

Чем плох GTK и если он так плох, то почему многие выбирают именно его?


Ответ на: GObject. от Camel

Большинство так называемых «программистов» и «разработчиков» не понимает, что объектная система должна быть отделена от языка

Потом ее приходится пришивать к языку специальными услиями, как VisualBasic, Си++ с Direct-to-SOM, и Vala. Для этого нужны ресурсы, которых в опенсорсе нет.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от Deleted

и каждый раз оно обсирается.

У меня еще хуже. На рутовом разделе тупо нет места под все зависимости. Видно не судьба.

baverman ★★★
()
Ответ на: комментарий от baverman

Да? Вроде не так уж много оно и требует:

After unpacking 193 MB will be used.

При этом у меня кде нет, только qt-либы.

Deleted
()
Ответ на: комментарий от zloelamo

Ты читать научишься? Мне всё равно, что ты насчитаешь про gtk и qt. Я подобных тебе экземпляров исследую только из любви к науке, чтобы разгадать загадку искусственного интеллекта. Конечно, мне интересно.

А что ты там считаешь про gtk и qt - всё равно, статистику это не изменит.

feofil
()
Ответ на: комментарий от Deleted

kbuidsycoca4.exe

.exe

WAT???

И да, у нормальных людей все работает. Так что, видимо, такая у ненавистников кед карма плохая.

curufinwe ★★★★★
()
Ответ на: комментарий от feofil

Наверное, имеется ввиду «не установлены». У меня, обычно, qt ставится только из-за virtualbox в linux или из-за jag в openbsd, без них - qt не установлены. А gtk есть всегда.

в тред стремительно врывается Chakra GNU/Linux

der_looser ★★
()
Ответ на: комментарий от Adonai

Используй объекты полностью.

Почему объектная система должна быть отделена от языка?

Потому что это правильный способ использования одних и тех же объектов в многоязыковых средах.

Camel ★★★★★
()

Тред не читал. В начале пути Qt был «полусвободным» и из-за некоторых непоняток с лицензиями многие выбирали GTK, потом тупо было поздно код переписывать. Я вот начал с Qt - и я разделяю общее мнение, что он лучший.

Qt используется в Autodesk Maya,[17][18], Adobe Photoshop Elements, OPIE, Skype, Медиапроигрыватель VLC,[19] VirtualBox, и Mathematica,[20] и на European Space Agency,[21] DreamWorks,[22][23] Google, HP,[24] KDE, Lucasfilm,[25] Panasonic,[26] Philips,[27] Samsung,[28] Siemens,[29] Volvo[30] и Walt Disney Animation Studios[31].

Кроме того, на Qt основана среда рабочего стола KDE, графический интерфейс мобильной ОС MeeGo и Qt Creator — среда разработки на Qt;

См. также Категория:Приложения, использующие Qt

xwicked ★★☆
()
Ответ на: комментарий от leave

Ага, запускал в убунте (которая, как известно, не линукс :3), установил с их официального ппа.

Deleted
()

Чем плох GTK и если он так плох, то почему многие выбирают именно его?

Qt лучше работает на Windows (и других не-linux) — вот и ответ. проекты хотят хорошо работать на Windows чтобы добитсья бОльшей своей популярности.

если бы все проекты делались бы сугубо для GNU/Linux — то у GTK было бы намного больше шансов по сравнению с Qt.

чего только стоит лишь этот Ад компиляции всей этой ОГРОМНОЙ Qt-технологии.. (например для ситуации когда я хочу использовать язык отличный от C++)

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 3)
Ответ на: GObject. от Camel

Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.

Отличительная особенность Qt от других библиотек — использование Meta Object Compiler (MOC) — предварительной системы обработки исходного кода (в общем-то, Qt — это библиотека не для чистого C++, а для его особого наречия, с которого и «переводит» MOC для последующей компиляции любым стандартным C++ компилятором

Язык C++. Не совсем понял, что от чего не отделено?

xwicked ★★☆
()
Ответ на: комментарий от xwicked

в этом весь Qt: компиляция из одного в другое, из одного в другое, из одного в другое, [...].

посчитай сколько нужно сделать разных компиляций (из одного языка в другой, включая компилцию очередного транслятора для очередной компиляции) в случае если мы компилируем Qt-привязку для стороннего языка :)..

но ничего — кривенько, косо, но работает этот ваш Qt... ну подумаешь частенько segfault`ится при операции закрытия окна программы, но кто же на такое обращает внимание :-)

user_id_68054 ★★★★★
()
Последнее исправление: user_id_68054 (всего исправлений: 2)
Ответ на: комментарий от EXL

установка дополнительной библиотеки - целое приключение.

Гарри Поттер и пакетный менеджер, лол. Пеши исчо.

Axon ★★★★★
()
Ответ на: комментарий от user_id_68054

У вас всех кривенько косо... , а у меня без шаманства кроссворд собрался на ведроиде, iOS пока не проверял. Ругайте дальше, чо! :)

xwicked ★★☆
()
Ответ на: комментарий от user_id_68054

кривенько, косо, но работает

Ну так как собрал - так и работает же.

Suigintou ★★★★★
()

Лучше бы файловый диалог нормальный сделали.

ritsufag ★★★★★
()

Chromium, FireFox, LibreOffice, Thunderbird, Eclipse

Там gtk идется в виде backend'а, за ui отвечает по сути собственная библиотека.

VLC

Они вроде на qt поехали?

Reset ★★★★★
()
Последнее исправление: Reset (всего исправлений: 1)

Примеры проектов - да море их!

GIMP. Ждём, когда он перейдёт на Qt =)

ephecaff
()
Ответ на: комментарий от iVS

Gentoo

Там и GTK нету. Как и в Арче, напрмер.

Axon ★★★★★
()
Ответ на: комментарий от Axon

Гарри Поттер и пакетный менеджер, лол. Пеши исчо.

Тебе вот смешно, а я воочию наблюдаю, как наш админ воюет с PHP-макаками, только что пересевшими с сам знаешь чего. Что делает PHP-Junior для того, чтобы установить какой-либо софт себе на машину? Идет в гугл, пишет там: «Скачать %softname% без смс», заходит на официальный сайт и в лучшем случае скачает оттуда deb-пакет со статически слинкованными бинарниками, без зависимостей, который установит пощелкав мышкой. А в худшем случае - скачает tar.gz или deb-пакет которому нужно разрешить зависимости, такие пакеты повергнут его в шок и джун позовет бедного админа. Вот пытаемся приучить их к пакетному менеджеру - не въезжают, не рвутся у них оффтопные шаблоны, типа «скачал инсталлер->далее->далее->готово!». А потом песни начинаются «ваш линукс мне непонятен!!1».

EXL ★★★★★
()
Ответ на: комментарий от EXL

Этих уже не спасти. Они и об идеально настоенную под задачу систему ноги переломают.

Axon ★★★★★
()

почему многие выбирают именно его?

стабильный API/ABI, со сроком поддержки >10 лет.

waker ★★★★★
()

да просто потому, что qt - это c++, его Ъ программеры не любят, а gtk любят, ибо православная сишечка

unt1tled ★★★★
()

VLC

бгг. причина для большинства остальных - язык

xsektorx ★★★
()
Ответ на: комментарий от Ze

А вот за что ругают - не понимаю.

за то, что там С (не С++!) бай дезайн. т.е. да, я знаю про обвязку для плюсов, но внутри-то всё равно Сишка, а писать гуй, основанный не на объектной системе — ССЗБ, в итоге имеем пачку костылей, а в результате на разработку _самого_gtk_ уходит в 2х больше усилий, чем на разработку Qt, отсюда меньшая развитость гтк как такового, и, как следствие, писать на гтк тяжелее

next_time ★★★★★
()
Ответ на: GObject. от Camel

объектная система должна быть отделена от языка

кому должна?

next_time ★★★★★
()
Ответ на: комментарий от tailgunner

C++ вы зря упомянули, С++ и так достаточно объектно ориентирован, более чем достаточно для гуя, а по существу согласен

next_time ★★★★★
()
Ответ на: комментарий от LightDiver

А ведь реально новый Battle.net клиент Blizzard написали на Qt, никогда бы не подумал...

kamre ★★★
()
Ответ на: комментарий от next_time

C++ вы зря упомянули

Не зря.

С++ и так достаточно объектно ориентирован

Объектная модель Си++ никогда не совпадает с языково-нейтральной объектной моделью, поэтому для прозрачной интероперабельности с ней нужны доработки компилятора. Direct-to-SOM - такая доработка (в OS/2).

tailgunner ★★★★★
()

Chromium, FireFox, LibreOffice, Thunderbird, Eclipse

Там от гтк только скриншоты кнопочек и диалог сохранения.

GIMP

Очевиднейшие исторические причины.

VLC

Перешли на qt

Даже плюсоненавистник Торвальдс перешёл на кути в своём проекте. Пруфы.

PolarFox ★★★★★
()

Основная проблема gtk на текущий момент — куцая документация. Кути пилят для разработчиков софта, гтк нынче пилят для себя разработчики гнома.

PolarFox ★★★★★
()
Ответ на: комментарий от Ze

Потыкал Gnome 3 и мне понравилось - не понимаю, почему многие его ругают и его GTK.

Гном 3 сам по себе среда более менее приличная. Но вот гтк для разработки программ не для гнома нынче подходит плохо.

PolarFox ★★★★★
()
Ответ на: комментарий от tailgunner

Direct-to-SOM - такая доработка (в OS/2).

и убогая доработка, раз толком никуда не пошла

Объектная модель Си++ никогда не совпадает с языково-нейтральной объектной моделью

щито? она просто более развита, чем в большинстве других языков программирования, кроме шарпа более сильно развитого ООП нигде почти и нет, если считать темплейты развитием ООП. но никто при этом не заставляет юзать все фичи ООП из плюсов, например, в кути не используются ни шаблоны, ни множественное наследование

next_time ★★★★★
()
Ответ на: комментарий от feofil

Ты валерьяночки прими, а то бедный совсем измаялся.

zloelamo ★★★★
()
Ответ на: комментарий от next_time

она просто более развита, чем в большинстве других языков программирования

ты хотел сказать «менее», и опечатался? это в каких свежих языках программирования объектная модель менее развита чем в крестах? (ессно, я спрашиваю про языки в которых оная модель вообще имеется)

waker ★★★★★
()
Последнее исправление: waker (всего исправлений: 1)
Ответ на: комментарий от next_time

Direct-to-SOM - такая доработка (в OS/2).

и убогая доработка

Как скажешь.

Объектная модель Си++ никогда не совпадает с языково-нейтральной объектной моделью

щито?

Что именно в словах «не совпадает» тебе непонятно?

она просто более развита, чем в большинстве других языков программирования

Ч0рт, как-то я не обратил внимания на комментарий к нику

next_time (09.03.2014 18:44:45) [баран упоротый]

tailgunner ★★★★★
()
Ответ на: комментарий от feofil

Эта статистика верна только в мире спо, так уж исторически сложилось. В мире серьезного бизнеса в 10 из 10 случаев используется qt. По своему опыту говорю. Я много мест работы сменил, так вот, если фирма зарабатывает на кроссплатформенном по баблосы, то используется только qt и на лицензии не скупятся. А это всё потому что qt превосходит gtk по всем параметрам. Сравнивать их это всё равно что сравнивать hello world от васи пупкина с серьезным Ъ-энтерпрайз приложением.

Reset ★★★★★
()
Ответ на: комментарий от waker

Objective-C?

Знакомый С++-разработчик после того, как его заставили писать на сабже, долго унывал по поводу того, что объектная модель весьма неполноценна.

EXL ★★★★★
()
Ответ на: Objective-C? от EXL

Знакомый С++-разработчик после того, как его заставили писать на сабже, долго унывал по поводу того, что объектная модель весьма неполноценна.

для таких есть objc++. да и в objc с объектной моделью все нормально. думаю, знакомый твой просто ниасилил.

waker ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.