LINUX.ORG.RU

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

 


1

2

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

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

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

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

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

А 256 мегабайт не хочешь? Вообще надо таким горе-разработчикам дать что-нибудь пописать для AVR или MSP430 там. Чтобы научились ценить каждый свободный байт и тик кварца.

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

А 256 мегабайт не хочешь?

Не хочу. У меня уже в 2006 было в 4 раза больше.

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

Зачем так страдать, если можно не страдать?

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

Затем, что тогда научитесь оптимизации, а не как всегда: «Нужна машина о четырех процессорах i9 и с дофига оперативной и видеопамяти». В топку такие программы. И таких быдлопрограммистов.

Стыдобушка, но теперь обычному приложению на QtWidgets нужна поддержка видеоускорения. Дальше что?

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

нужна поддержка видеоускорения

с llvmpipe заработает без него

всё правильно сделали, в 2020 нужно уже отовсюду выкинуть неускоренный code path и начать программировать графику нормально

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

Зачем так страдать, если можно не страдать?

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

Друзья, это настоящий минимализм, или нашел то, чего искал

Юниграфикс на одной и той же модели в 2007 году выплевывал мне управляющую программу для станка за 30 секунд, а сейчас на 15 минут о чем-то жутко задумывается. На одной и той же модели для одного и того же станка по одной и той же схеме. Как тебе такой прогресс?

Понимаешь, чувак, я как раз инженер. И на заре своей деятельности, пока я не вляпался в предпринимательство, я херачил довольно суровые проекты. Моя нынешняя деятельность тоже связана с инженерией. Я тебе ответственно заявляю, что в кадах прогресса нет. А регресс, глючность, падучесть и никому нахер не нужное окрасивливание идет полными темпами. Это я тебе готов доказать на примере основных монструозных кадов типа NX UGS, Catia, ProE, SolidWorks/SolidEdge. С точки зрения инженера ни один из этих кадов не стал уметь делать что-то больше, чем он умел это 20 лет назад. Ни один из них не получил фичи, которые бы могли облегчить проектирование или расчет по сравнению с этим же кадом 20 лет назад. Выше я это уже все описал и повторяться уже лень.

Знаешь в чем ирония? В современных компах с современными CAD-ами мало что изменилось. Они несильно больше умеют делать работу чем тот комп. Красивее - да, плавнее и анимированнее - да. Вот только нахрена мне как инженеру это? А главное - половина CAD-ов тупо валится при попытке открыть сборку в 1000 с небольшим деталей. Приходится на узлы делить и сопромат считать отдельно по узлам. Доходит до маразма, что проще самому набросать небольшой быдлокод, чтобы быстренько посчитать в общем-то типовые задачи по сопромату, чем пытаться считать это в CAD-е, который вроде как для этого и создан.

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

Затем, что тогда научитесь оптимизации, а не как всегда: «Нужна машина о четырех процессорах i9 и с дофига оперативной и видеопамяти».

Ну а что делать, если действительно нужна? В любом случае, если ты нищ и не можешь позволить себе нормальный компьютер, откуда ты деньги на софт возьмёшь?

Стыдобушка, но теперь обычному приложению на QtWidgets нужна поддержка видеоускорения. Дальше что?

В мире ещё остались девайсы, не умеющие ускорение? Выкинь свою S3 Virge на помойку уже!

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

Из чувства прекрасного, не?

Страдать из чувства прекрасного?

Если делать явное говно, то это путь к эмоциональному выгоранию, не?

Как связаны «говно» и требования к железу? Остальную часть твоего поста не читал, прости. Слишком много букв.

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

Слышал! А ты слышал что это просто формат хранения данных? Ты б еще URL ссылку на OBJ файл привел как аргумент поддержки 3D.

Ты еще расскажи про Internet Explorer 6 который мог в нормальные стандарты.

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

Ну так и HTML – просто формат. Я, правда, всё ещё не понимаю, на кой чёрт ты 3D как аргумент привёл. Трёхмерные интерфейсы в каком-нибудь чате или экселе нахрен никому не сдались.

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

Страдать из чувства прекрасного?

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

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

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

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

Ну или там голанг и if err != nil { return nil, err } через строчку. Я слышал, многие и на такое наяривают и считают красивым. Красота – вообще вещь субъективная.

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

чате или экселе нахрен никому не сдались ты 3D как аргумент привёл.

А то что на дворе VR технологии и выходят всякие Half-Life:Alyx, а твой веб застыл на «чате или экселе» через HTML. Конечно там «трёхмерные интерфейсы» не нужны. Для веба самый низкий порог во всем.

В Qt более совершенная и лаконичная модель педалинга GUI.

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

[inline] import QtQuick 2

Column { Repeater { model: 16 Rectangle { width: 100; height: 40 border.width: 1 color: «red» Text { text: "I’m item " + index } } } } [/inline]

Без HTTP, HTML, CSS, без npm, без Node.js, без бразуера и прочей лабуды. Только поставь Qt.

Создаешь файлик main.qml. запускаешь командой [inline]qmlscene-qt5 main.qml[/inline]. И получаешь готовый результат.

А дальше!? Как хочешь! Можно сишку подрубить и доступ к железке напрямую через QML, а можно педалить JS прямо в QML - прописывать обработчики событий.

JS не тот галимый как в браузерах, а более шустрый V4 движок. потому что Qt Company отказывается от тормознутого V8 и его аналогов.

Декларативный язык. Что пишешь то и будет. Ну конечно удобный редактор с профилирофщиком из коробки в QtCreator.

И все ставиться качается одной командой [inline]sudo apg-get install qt-sdk[/inline]

Можно парсить на лету, а можно компилировать как QML так и QWidget.

Хочешь сложные эффекты воды или пламени!? Пожалуйста. Впендюриваешь прямо в виджет ShaderEffect {}

Есть примеры кода с 3D PBR графикой.

А еще есть вот такое https://www.youtube.com/watch?v=9NjLVTIi_ZY

И все это один фреймверк. Примеры которого будут работать везде, и даже на Android.

ЛЮДИ ИГРЫ НА НЕМ ДЕЛАЮТ, КАРЛ!

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

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

Ты 100500 человек который на это ругается.

Есть закон Вирта сформулированный хрен знает когда

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

А есть шуточное высказывание Гейтса на закон Мура «программы становятся в два раза медленнее каждые полтора года»

«Разбудите меня через 100 лет и спросите…..» ну ты понял.

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

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

«Бесплатной» Qt не существует. Есть свободная (GPL, LGPL, набор модулей несколько отличается).

Соответственно, её не могут «выбросить». Её могут забросить. После этого появляется форк последней свободной версии, куда и уходит сообщество. И я думаю, что Qt Company это прекрасно понимает.

У них, да, есть объективные трудности. Им надо что-то кушать и вообще зарабатывать деньги. Поэтому они принимают компромиссные решения, иногда весьма странные. Но думаю, откровенно быковать они не будут.

hobbit ★★★★★ ()

Верните поле отправки сообщения как было.

С новым полем, если курсор стоит слева, его не видна.

ВиднА да. ГрамарНАСИ могут сосаси.

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

выходят всякие Half-Life:Alyx

Алекс - это окончательная смерть для vr игор. Топовая студия, денег вбухано - экономический эффект пшик. Пример как бы говорит другим студиям - даже не пытайтесь.

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

Меня немного зацепило твоё шлангование. Так и просится аналогия.

Вася копает ров за два ведра борща в день! А вот Петя копает ров также хорошо за тарелку риса в день. А ещё Петя двигает горы за тарелку борща в день!

Ну ты дурак, мне не нужно двигать горы, нужен только ров! «3d не нужно в чатиках и екселе». А тот факт, что Петя дешевле Васи даже для твоего ненаглядного рва - проигнорировал.

Тарелка риса в день - потребление ресурсов компа. Копать ров - 2d графика. Двигать горы - 3d графика. Вася - электрон. Петя - кьют.

При этом среди хардкорных сишников и крестовиков кутешники считаются дешёвыми макаками. Чтобы не сьезжал на «С++ дорого».

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

При этом среди хардкорных сишников и крестовиков кутешники считаются дешёвыми макаками.

А среди программистов хардкорные сишники считаются клоунами. Ты думаешь, почему мы все тут так Iron_bug любим?

Вася - электрон. Петя - кьют.

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

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

Да там дело не в хардкорности, а в ее манере общаться и некоторых убеждениях (ну типа как ковид-диссидентство). К слову, я между ней, фракталом и витчергеральтом отличий вообще не вижу. У всех троих не….нно важное мнение по любому мировому вопросу, а все кругом пыль и лалки анскильные. Их личных самолётов, гаремов, и фотографий в журнале Татлер или на сайте ФБР, мы, правда, не видим.

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

Их личных самолётов, гаремов, и фотографий в журнале Татлер или на сайте ФБР, мы, правда, не видим.

Как и сколько-нибудь серьёзных проектов на C/C++, которые бы не текли и не крашились при шаге сторону.

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

Царь приди, порядок наведи!

Царя, кстати, я в ту троицу не записываю. У него это всего лишь сценический образ, как например у Мэрлина Мэнсона, который с «собой» сценическим имеет общего ровно ноль.

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

А среди программистов хардкорные сишники считаются клоунами

Не путай личные тараканы одного человека и и свойства, характерные для тысяч людей. А ещё «бережливые инвесторы» выглядят клоунами в глазах «прогуляем всю зарплату» и наоборот. А вообще любой человек с кардинально другой системой ценностей может казаться поехавшим.

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

У M$ с его легаси вечная нехватка сишников и крестовиков. Когда они находят программиста, который может в си/кресты, садят за винду, офис, ажур, всл и прочие фундаментальные вещи. А писать гуй для прикладухи садят фронтендеров, ибо они только это и могут.

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

В удаленных, скорее всего. Вообще после того треда, где она и Стансон зажигали, Димез не выдержал такого соседства и сказал форуму «бай бай».

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

Как и сколько-нибудь серьёзных проектов на C/C++, которые бы не текли и не крашились при шаге сторону.

Это где толкают такую близорукую пропаганду?

Все ядра ос «повседневности» написаны на си. Не вижу, чтобы современные линукс, винда и мак валились как вин95.

Все мейнстримные брвузеры и вм джаваскрипта написаны на крестах. Не вижу воплей «фф/хром всегда падают на каждый чих». Сам электрон основан на крестовых программах и валился бы на каждый чих. А что - электрон - с++ программа и наследует все свойства программ на с++.

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

Я думаю, он говорил не про языки, а про конкретных персоналий. Нет никаких соснений, что Си и С++ - языки очень крутые, и у них есть свои очень нужные сферы применения. Странно с этим спорить.

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

Толку с развития, если главкьютовец заявил – Qt переходит на CMake и баста.

Толк в том, что свои проекты ты можеш билдить кубсом.

Кубсом так же можно билдить проекты не связанные с Qt, т.е. это универасальная система сборки.

Сейчас там сильно поддерживается направление эмбеддед, которое сейчас сильно развивается и переходит от С к С++

И кто его знает, что там в Qt решат к выходу Qt7

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

Я уже задавал этот вопрос.

Но повторю.

Сейчас там сильно поддерживается направление эмбеддед, которое сейчас сильно развивается и переходит от С к С++

Насчёт «перехода от С к С++ в embedded» можно долго и нудно спорить. Как-то не особо заметно. Но всё же вопрос.

Применительно к Qt и embedded лично мне известен только один проект. Это Sailfish. Оно же Аврора, под которую я лично по временам пишу ибо это по временам удобно – иметь нужный софт в кармане на мобиле). Так в чём вопрос – а до фига ли там программья, в этой самой Авроре? Несмотря на то, что там и С++ и Qt, всё как мы (на словах) любим.

Про связь десктопного софта и embedded версий я даже не спрашиваю. Гиморно это.

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

Все ядра ос «повседневности» написаны на си. Не вижу, чтобы современные линукс, винда и мак валились как вин95.

Конечно не видишь. Ты же на CVE не подписан.

Не вижу воплей «фф/хром всегда падают на каждый чих»

К слову, разрабы FF настолько полюбили C++ что аж отдельный язык сделали и яростно продвигают, лишь бы на C++ не писать.

hateyoufeel ★★★★★ ()