LINUX.ORG.RU

Что менее монструозное в 2020 как библиотека: Qt или GTK для C++ разработки чисто под linux?

 


3

4

Есть старый C++ GUI сделанный в 2012. Собирался под win и linux. Поддерживать win надоело, сам её не юзаю, да и мастдай уже произошёл. Qt была выбрана по совету знакомых как супермегапростая штука. Хотя юзал из всего набора минимум - окна, кнопки и иконки.

Глядя на сегодняшний мир всяких убунт, мы видим что GTK как-то более распространён (или так только кажется)? Никакого Qt в базовых интерфейсах, никаких KDE и прочего говнища.

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

Так чё, на GTK всё переписать, чтобы быть в тренде и меньше гимора в дальнейшем? К тому же, никогда не нравились всякие эти ненативные приблуды в Qt вроде MOC или как там его. Хочется что-то ламоповое без cmake, минималистичное, быстрое, современное и самое трендовое. Поддержики всякого JS-кода в интерфейсах, звука, воспроизведения видосов не требуется (есть вывод звука, но там на ALSA всё руками сделано по-пацански).



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

Хм. Мда. Я вот тут думаю начать влезать в разработку, и думал лезть именно в плюсы.

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

А если брать ближайшего конкурента, то есть Раст, то там стандарта нет, и вообще все туманно в плане перспектив. Язык-то может и классный/перспективный, но начинать ли вкладывать в него своё время - вопрос, вопрос.

anonymous
()
Ответ на: комментарий от hateyoufeel

Что забавно, так это то, что какой-нибудь golang сделали всего лет за 5, и он по скорости примерно на уровне того же C++. Что лишний раз говорит о том, что генерировать быстрый код – не то чтобы дико большая проблема.

на плюсах можно писать под любую архитектуру, вплоть до микроконтроллеров, типа минимальных stm32. на какую архитектуру можно писать на голанге?

легаси - это в переводе на русский - полно библиотек. если надо найти можно что угодно.

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

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

А если брать ближайшего конкурента, то есть Раст, то там стандарта нет, и вообще все туманно в плане перспектив. Язык-то может и классный/перспективный, но начинать ли вкладывать в него своё время - вопрос, вопрос.

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

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

Benchmark game говорит, что от полутора до пяти раз примерно. Что довольно немного, учитывая что там GC во все щели.

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

А среди программистов

… веб-макаки не считаются программистами.

https://www.it-courses.by/programming-vs-web-development

Странно наличие «vs» в заголовке

Это всё круто, но почему тот же шкайп с твоего кьюта на электрон-то перелез?

Ставить монополиста M$ с его говнософтом в пример.

Скажи ты специально включаешь дурачка чтобы потролить?

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

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

Стандарт есть, толку нет. Компиляторы его по-разному местами интерпретируют. Плюс, из-за разработки стандарта комитетом в этот твой C++ модули только сейчас запилили.

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

на плюсах можно писать под любую архитектуру, вплоть до микроконтроллеров, типа минимальных stm32.

Нет, нельзя. Под stm32 у тебя будет особый C++ без рантайма и вообще чего-либо.

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

кончится скорее всего тем, что хайп пройдет, и раст займет достойное место среди языков однопроцентной популярности, в известных топлистах.

Вот примерно этого я и опасаюсь.

anonymous
()
Ответ на: комментарий от hateyoufeel

Твоя чушь без пруфов никому не интересна. Я приводил ссылку на вполне годный ресурс где теститься с различными оптимизациями на разных задачах на разных языках.

А ты продолжаешь пороть херню без аргументов и доказательств.

Ты ж понимаешь что мнение оно как дырка в жопе - у каждого есть.

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

Нет, нельзя. Под stm32 у тебя будет особый C++ без рантайма и вообще чего-либо.

ты говоришь «нельзя», тому кто это делал и легко.

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

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

Вы же в курсе, что даже полтора раза на hello world - это провал? Тем более в Go нет явного разделения на стек и кучу, а значит производительный код писать в принципе невозможно. Я молчу про simd и asm.

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

Вот примерно этого я и опасаюсь.

я вот совершенно уверен, что если от рустовых принципов будет хоть какой-то профит и польза, седожопые дядьки из комитетов по плюсам, просто вставят аннотации владения в с++ и закроют вопрос. они правда часто проявляют изрядную медлительность в добавлении полезных фич, но обычно полезности не пропускают.

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

Вообще надо таким горе-разработчикам дать что-нибудь пописать для AVR или MSP430 там.

PIC.

Владимир

anonymous
()
Ответ на: комментарий от stasolog

Да ты что! Если Царь С на говеный С++ променяет, что мне останется — пхытон быдлокодить?

// Eddy_Em

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

На асме!

А то развелось, паимашь, быдлокодеров! Они даже на сраной аврке не могут ногой подрыгать без С++ с толпой говнолиб абдуринских. И в итоге код, занимающий меньше сотни байт, у них на килобайты раздувается!

Так и с компьютерами: из-за того, что настоящих программистов сменило быдло хипстерское, современный софт похож на что угодно, кроме красивого софта. Убивал бы за все эти культяпки, говнотыки, калокубы, абдурины!..

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

Так и с компьютерами: из-за того, что настоящих программистов сменило быдло хипстерское

Я вот не могу понять, ты специально имитируешь стиль полоумных бабок у подъезда на лавочке (Наркоманы, проститутки!)?

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

Хотя нет, у Багини же тот же стиль. Это, видимо, все сишники состоят в какой-то очень тайной закрытой секте, где им привают особый стиль мышления и выражения.

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

А что я не так сказал?

Крестовики - не хипстеры? ОК, пусть не хипстеры. Но любители пхытона, педеrust’а, goвна и всяких дотнетов — точно мудаки, твари и сволочи!

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

Представь, как было бы здорово, если б весь софт разрабатывали здравомыслящие люди: новые мажорные версии ядра появлялись бы максимум раз в 15 лет, API библиотек ломали бы раз в 30 лет, приложения не жрали бы гигабайты оперативы, а Мур со своим «законом» охренел бы просто!

Но, к сожалению, мы живем не в идеальном мире с коммунизмом, а в быдлореалии, где правят жидомасоны и прочая мерзость. В итоге, чтобы им их триллионы на счета капали, весь народ работает на от…сь, везде казнокрадство, кумовство, коррупция…

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

Но, к сожалению, мы живем не в идеальном мире с коммунизмом, а в быдлореалии, где правят жидомасоны и прочая мерзость.

Геи, SJW, евреи?

https://imgur.com/a/oGNUhD7

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

Батенька! С добрым утром!

Вы всё прое… эээ… «пролюбили» в общем. Уже свершилось.

Если Царь С на говеный С++ променяет, что мне останется — пхытон быдлокодить?

Таки да. Царь уже не тот пошёл. Он уже топил на страницах форума именно за С++. Так что, некий Moisha_Liberman его уже разжаловал из «Царя С» в «Царя С++». При мне дело было, свидетельствую. Хоть этот Мойша и зелен и жирён, известный тролль, но монарху, помнится, поплохело неиллюзорно.

Так что да. Пистон ждёт Вас… =)))

anonymous
()

Так чё, на GTK всё переписать, чтобы быть в тренде и меньше гимора в дальнейшем?

wxWidgets (пользую активно). много на них писано, багов там нет, есть «фичи». и то которые было лень репортить, то есть непринципиальные. все, чтобы написать вполне развитой гуй там есть.

на крайний случай можно gtk в свою плюсовую обертку завернуть или взять готовые.

wxWidgets кстати используют нативные контролы на каждой из платформ - линукс, виндовс, макос. то есть все летает.

ивенты там кстати сделаны идеально. все что может получать ивенты отнаследовано от wxEvtHandler, по сути это тредсейф очередь ивентов,и чтобы зарегить свой хандлер на какой-то ивент, надо просто сказать хандлеру - Bind(тип ивента, обьект, метод), тогда по ивенту будет вызываться обьект->метод(ивент). проще некуда. регистрация диамическая, можно пописываться и отписываться от ивентов. и все чтобы писать многопотоки там есть, треды, мютексы, условные переменные и вообще куча всего

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

Вы же в курсе, что даже полтора раза на hello world - это провал?

Нет, не в курсе. Другие тоже. Иначе голанг бы никто не использовал.

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

А в Rust есть?

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

Мойша, себя из под анона пиарить - это как самоотсос делать. Но вы таки справились, проявив недюжиную гибкость.

Преклоняюсь перед Вашим недюжинным опытом в части сексуальных перверсии, но я к сожалению, не регистрант здесь и тем более не имею ровным счётом никакого отношения к означенному индивидууму. Исключая разве то, что с Мойшей (точнее, человеком, который использует этот ник) я знаком лично, мы когда-то один ВУЗ заканчивали и сейчас по временам сотрудничаем.

Хотя, Вы мне и не поверите конечно же, но право, как-то похер.

anonymous
()
Ответ на: комментарий от baist

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

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

Иначе голанг бы никто не использовал.

Его никто и не используется для написания быстрого кода.

А в Rust есть?

Это шутка?

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

Не поверю, Мойшечка, ваш стиль слишком узнаваем. Но вы не отвлекайтесь, не смею мешать.

Этот стиль происходит от того, что мы из… «вежливых и учтивых». Причём, этот стиль выбивался буквально звиздюлями неиллюзорными в военном ВУЗе ещё за долго до того, как это стало определённым общественным трендом.

И я крайне сожалею что эта степень учтивости недостижима массе малолетних долб… (Вы меня поняли, да?) с понтом дела закончивших некие до немогусеньки «илитарные» ВУЗы.

А так-то воля, Ваша верить Вам или нет. Но по себе ровнять окружающих – лишнее это. Поверьте на слово… =)))

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

Не поверю, Мойшечка, ваш стиль слишком узнаваем

Что-то давненько от него комментов нет.

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

Что-то давненько от него комментов нет.

Ему задачек накидали… Ещё годик где-то ему будет не до форумов и прочих публикаций. У мужика задачек как у ху?вой (плохой) сучки блох. Деньги мужик зарабатывает.

anonymous
()
Ответ на: комментарий от RazrFalcon

Его никто и не используется для написания быстрого кода.

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

Это шутка?

Нет, не шутка. Где-нибудь в языке явно написано, что Box<> будет именно в куче, а другие переменные — обязательно на стыке?

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

Его используют там, где производительность не критична. И нет, вебсерверы - это не производительность.

Ну вообще-то да. В любой момент времени я знаю какие переменные у меня на стеке, а какие в куче.

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

какие диалоги - такие и темы. кто на что заслуживает.

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

Ему задачек накидали… Ещё годик где-то ему будет не до форумов и прочих публикаций. У мужика задачек как у ху?вой (плохой) сучки блох. Деньги мужик зарабатывает.

Трое детей, два огорода, две машины, …, а тут еще «шабашки» …

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

Ему задачек накидали… Ещё годик где-то ему будет не до форумов и прочих публикаций. У мужика задачек как у ху?вой (плохой) сучки блох. Деньги мужик зарабатывает.

Люди работают, а мы тут «воюем».

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

работают рабы на галерах, а тут собрались senior software аrchitect-ы

anonymous
()

// me уже давно не участвует в треде. К тем анонам, которые сюда приперлись недавно, отношения не имею.

anonymous
()

снова сравнивают тулкит с фреймворком.

с gtk ты будешь таскать с собой вагон библиотек, так как gtk это чисто gui.

в qt у тебя есть человеческие qstring, qmap, qvector, а также работа с файлами, с сетью, с буфером обмена и все такое.

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

Да.

Это не выдумка. Он сам об этом писал.

Со своей стороны могу свидетельствовать что у мужика да, трое парней растёт, две машины (Mazda BT-50 и Hyundai Starex), частный дом на ~20 сотках в недальнем Подмосковье, сад-огород один, в саду даже районированных под Подмосковье абрикосов три сорта есть. Баня, все дела. Парни помогают, но глаз за всем нужен. Он в основном дома сидит-работает. По жизни на удалёнке. Это не он приходит, это к нему приходят.

Ещё у мужика было 11, сейчас осталось 9 котов и кошек. Недавно к нему заезжал в гости, кофеёк попить, да в баньке попариться. Ушла кошка… 23-х лет от роду. Кого на дачах «забывают», те по осени-зиме к нему приходят.

Так что, и так дел полно, да плюс работа-шабашки. И да, мужик сишник. Не потому что по старпёрству своему нет желания нового, а потому что как ни тыкай палочкой новое, пока лучше ни чего нет. На практике. Увы и ах.

И да, мужик вполне себе имеет в качестве одной из мобил INOI R7. Полчаса назад с ним разговаривали именно по этой мобиле. Т.е., есть опыт и под мобильный Qt и под GTK/GNOME. Я, глядя на него, в своё время тоже себе иного взял. Тоже маленько пописываю под него. В общем, доволен.

Насчёт возраста… Ну так нам уже обоим по этому самому пресловутому «полтосу» (плюс-минус). Только вот у Мойши жена примерно на 15 лет младше его. Мужик до сих пор спортом занимается.

Ну а текущие проекты… Бог даст, скоро узнаете, но я почему-то уверен что Мойша не придёт и не скажет – «я писал». Скромный он, пиара не любит. А вот деньги очень. =)))

/* Обсуждение Мойши ведётся с его любезного разрешения. Условие только одно – без деанона. */

Ещё вопросы? =)))

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

Да сказано же уже.

с gtk ты будешь таскать с собой вагон библиотек, так как gtk это чисто gui.

в qt у тебя есть человеческие qstring, qmap, qvector, а также работа с файлами, с сетью, с буфером обмена и все такое.

Откройте для себя GLib и узбагойтесь. Кто-то, уважаемый EXL по-моему, уже даже пруфы привёл в данном треде что GLib и в Qt используется. Ну и нафига нужен ещё один уровень обёрток над GLib?

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

кто-то точно то же самое мог бы сказать про «говно-культи»

anonymous
()

Qt, GTK пародия на ООП. Если нужен ООП, нужно брать язык с ООП, а не на макросах костыли лепить. Одна беда, Qt скурвился и LTS хочет начать зажимать.

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