LINUX.ORG.RU
ФорумTalks

Qt - это язык программирования. Философские размышления

 , , , ,


0

1

Приветствую! По мотивам этого коммента:

ОФФТОП: А Qt это не просто gui-шка к крестам, а полноценный ЯП? Не, я правда не вкурсах если что...

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

Язы́к программи́рования — формальный язык, предназначенный для записи компьютерных программ[1][2]. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель (обычно — ЭВМ) под её управлением.

Как правило, язык программирования определяется не только через спецификации стандарта языка, формально определяющие его синтаксис и семантику [⇨], но и через воплощения (реализации) стандарта — программные средства, обеспечивающих трансляцию или интерпретацию программ на этом языке [⇨]; такие программные средства различаются по производителю, марке и варианту (версии), времени выпуска, полноте воплощения стандарта, дополнительным возможностям; могут иметь определённые ошибки или особенности воплощения, влияющие на практику использования языка или даже на его стандарт.

То есть язык программирования может НЕ содержать компилятора / транслятора. И то что язык Qt представляет собой либлиотеку - это другая колбаса, у него есть ВСЕ свойства ЯП. Жду критику кре... несогласных. Надоело, что каждый кукаретик ЛОРа строит из себя умного и пытается поправить меня. Всё началось с обсуждений моих Qt4-программ в далёком 2011г.

Qt - кусок говна.

Так что да, это отдельный язык программирования, почти не имеющий к плюсам отношения.

fsb4000 ★★★★★ ()

Qt это Delphi современного времени

Раньше были программисты на Delphi, а не на Object Pascal, теперь вот программисты на Qt, а не на C++

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

Не путай пожалуйста грязного програмистишку на ЦПП и настоящего боярина «С++ фул стак девелопера»...

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

Qt - кусок говна.

Так что да, это отдельный язык программирования, почти не имеющий к плюсам отношения.

Плюсы твои кусок говна, а вот assembler рулит!

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

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

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

Qt - кусок говна.

Да щас. QtWidgets - необычайно толковая и удобная вещь. Я бы даже сказал, что на C/C++ – безальтернативно удобная. Вот QtQuick со встроенным js, css и/или что там ещё, короче протаскивание тяжеленных веб-технологий в десктоп – это уже маразм вполне в русле всеобщей деградации. А что там в нём ещё понакручено (qtsql, etc.), я хз и пох.

То, что они несколько лет назад часть своих коллекций объявили устаревшими в пользу стандартных (подробностей не помню) – означает, что они держат нос по ветру и не изобретают велосипедов более необходимого. Было даже какое-то шушушу, что с новыми (уже старыми) плюсами MOC не нужен, но вроде заглохло. Впрочем, мне MOC не мешает: при необходимости я и сам кодогенерацию с удовольствием запилю.

UPD: Известная тема срачей про QString vs std::string + std::wstring – отдельный разговор. Опыта секса тут у меня мало, так что чёткого и обоснованного мнения не имею. Полагаю для байтодрочеров лучше std::, а для людей – таки QString.

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

В похожих темах.

Да, увидел. В 17 году один тред есть, больше не смотрел.

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

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

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

Насколько я знаю, Qt делалась по подобию Java JFC/Swing.

У Qt получилось в GUI лучше. Но на Java они действительно ориентировались во многом. Чего стоит QString, который даже строки хранит внутри себя в UTF-16, как и Java.

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

Да щас. QtWidgets - необычайно толковая и удобная вещь. Я бы даже сказал, что на C/C++ – безальтернативно удобная. Вот QtQuick со встроенным js, css и/или что там ещё, короче протаскивание тяжеленных веб-технологий в десктоп – это уже маразм вполне в русле всеобщей деградации. А что там в нём ещё понакручено (qtsql, etc.), я хз и пох.

Однажды мне приснился кошмар, что QtWidgets был задепрекейтен и для его замены предложили QtQuick.

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

Известная тема срачей про QString vs std::string + std::wstring – отдельный разговор.

Разве такие срачи существовали? Тогда сегодня туда ещё std::string_view и std::wstring_view надо добавить.

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

Qt это Delphi современного времени
Раньше были программисты на Delphi, а не на Object Pascal, теперь вот программисты на Qt, а не на C++

Честно говоря, Delphi/C++ Bulder подламывают неокрепшую логику будущих программистов в учебных заведениях. Я долго путался, пытаясь присвоить напрямую переменным(Delphi, привет!). Каково было моё удивление, что в Qt всё завёрнуто в «set» и «is». Так что для обучение Delphi вреден. А так да, можно провести некую аналогию, процентов на 30, не больше.

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

У Qt получилось в GUI лучше. Но на Java они действительно ориентировались во многом.

Не знал. Получилось довольно неплохо, соглашусь.

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

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

Да ну, в QtCreator (или, видимо/точнее, в designer) визуально запилить форму в ui-файле – вполне удобно и быстро (дельфЮ уже вспоминали), и этот ui-файл компиляется в C++-класс.

UPD: Сам ui-файл – декларативный XML. Удобно для designer. Мне тут назойливо вспоминается Borland JBuilder, чейный визуальный редактор форм ухитрялся сразу с java-исходником работать: парсил/генерил (Swing).

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

Пруфлинк?

Программа на Qt не скомпилируется с этими флагами, например:

https://github.com/cpp-best-practices/cpp_starter_project/blob/c1701ed3b4107066a7db08fd5ae179df7b617612/cmake/CompilerWarnings.cmake#L34-L51

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

Ну и то что есть «C++» путь делать вещи, а есть «Qt» путь. Притом в Qt всегда это подчёркивают. Это говорит о многом.

Опять же всегда именно для Qt нужно, чтобы система сборки поддерживала Qt. Им не хватило возможностей C++20 для создания GUI библиотеки, а GTK хватило С99…

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

Должен обратить внимание на то что QtQuick несмотря на всю его ущербность является очень хорошей альтернативой между Cordova/Electron и нативными виджетами. Работает много быстрее первых и предоставляет более гибкий, простой и быстрый способ разработки интерфейсов и интерфейсо-обильных програм.

Jetty ★★★★★ ()

Та нормально всё

Человеки редко разделяют язык и словарь. А они очевидно почти ортогональны. Т.е. кутэ - диалект, тоже типа язык, только «без армии».

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

Было уже, не ?)

Да, я потом увидел уже в подобных темах.

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

Примерно всем. Начиная от более адекватной и удобной системы рисования на Canvas’е и более качественной мимикрирей под Linux, Mac OS, Windows и заканчивая тем, что GUI в Qt развивается в ногу со временем: отрисовка через DirectX, OpenGL и Vulkan, поддержка HiDPI из коробки и т. д.

У Java был JavaFX, который можно было развивать в этих направлениях, но его выкинули.

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

GUI в Qt развивается в ногу со временем: отрисовка через DirectX, OpenGL и Vulkan, поддержка HiDPI из коробки и т. д.

Можно подумать, что Java отрисовывает всё через условный GDI и задействует процессор для этого. Это двадцать лет уже не так. Вся отрисовка (растеризация) идёт через графический процессор, везде задействуется средства условного Direct Draw — если не используется примитивный видеодрайвер без задействования аппаратной акселерации, то заметить разницу в отрисовке 2D-графики на Java Swing и нативщиной приактически невозможно.

У Java был JavaFX, который можно было развивать в этих направлениях, но его выкинули.

И правильно. Ничего существенного и полезного JavaFX не нёс.

iZEN ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)