5 ms·
> Qt > feature creep, the project > uses ancient paradigms > tends to overtake all your structures > slow > I don’t like it Seriously?...
by slezyr 7y ago
> Qt
> feature creep, the project
> uses ancient paradigms
> tends to overtake all your structures
> slow
> I don’t like it
Seriously?...
- geezerjay 7y agoI found it quite amusing, specially as the author failed to present a case -- and an example -- of what he perceives as being a modern paradigm. I mean, how many projects he listed that supported any kind of UI design tool? To me, Qt is still leaps and bounds beyond any alternative, not only in is design-centric tooling but also ease of use. Doubly so with Qt Quick. I find it quite strange that those aspects of Qt aren't readily noticed by someone who bothers to produce a list of C++ UI toolkits
- einpoklum 7y agoQt uses pointers, meta-objects, pre-precompiler, inheritance over templates, little use of the standard library... need I say more? It is leaps and bounds beyond other things - but those leaps and bounds are into the past.
- badsectoracula 7y ago> little use of the standard library FWIW this is a plus :-P i prefer working with Qt's containers and strings than STL (not specific to Qt really, i prefer almost any other container, string, etc library than STL, the API of which i find very unintuitive). Qt isn't just a library really, it is a framework you build your application around, when you use it you are supposed to buy in everything it does.
- jcelerier 7y agoSo, please tell us : - how do you implement reflection without either ugly macros or a precompiler? - how do you implement metaclasses without a meraobject ? (e.g. how would you list all the methods or properties of a class) - how do you implement a tree structure where the parents knows its children and the children know its parent in modern C++ (or Rust without unsafe :-)) ?
- geezerjay 7y ago> Qt uses pointers That statement lies somewhere between simplistic and out-right wrong. Qt uses pointers just like C++'s smart pointers use pointers. https://doc.qt.io/qt-5/objecttrees.html https://doc.qt.io/qt-5/objecttrees.html Moreover, Qt also provides a collection of smart pointers, which are used quite extensively by Qt. https://wiki.qt.io/Smart_Pointers https://wiki.qt.io/Smart_Pointers > meta-objects, pre-precompiler I fail to see the point of your complaint. Besides the fact that Qt's "pre-compiler" is used to transparently support stuff such as UI design tooling and Qt's resource system (which handles embedding images and i8n), Qt's meta-object system also adds the boilerplate code that implements stuff such as event loops, IPC, observers, and message-passing. So, actually, what's your point? This complaint is particularly absurd if we compare Qt with unquestionably modern technologies such as the Android stack, whose build process is jam-packed with precompiler steps and whose project trees are filled to the brim with XML-based DSLs. > inheritance over templates, little use of the standard library These complaints make absolutely no sense at all. > need I say more? ...Yes? You actually failed to make a single point, let alone presented a rational argument to back your assertion. > It is leaps and bounds beyond other things - but those leaps and bounds are into the past. This jab is simply stupid, more so in light of your complains.
- ahartmetz 7y agoI might be a wee bit biased because I work with Qt, but seriously, its breadth, quality, and documentation are why it's the quasi-standard for cross-platform UI programming. There is currently a discussion about the ownership model (I guess that is meant with "ancient paradigms") on the development mailing list. The ownership model isn't really among the top n problems during typical development in any case. There is also QML which is an extremely productive way to create hardware accelerated touch-friendly UIs. QML is widely used in embedded systems.
- pier25 7y agoCan you point out some big desktop projects made with QT that run on macOS and/or Windows?
- rapsey 7y agoTelegram desktop client app, dropbox.
- vram22 7y agoI had read somewhere a while ago that the Dropbox clients were written in wxPython. Not sure if that was right then, or has changed since I read it.
- detaro 7y agoAutodesk uses it, e.g. for Maya and Eagle. Tableau. Some game engines use it for editor tooling, e.g. CryEngine. In the open-source world: Krita, Scribus, Texmaker.
- ahartmetz 7y agoBig in line count but not user count: Professional (the REALLY expensive stuff) 3D modeling and electronic design automation (EDA) packages.
- maccard 7y agoI believe Maya and OBS use it
- blattimwind 7y agoDidn't you know that declarative, binding-oriented, hardware-accelerated, scene-graph based GUIs are both based on ancient, completely outdated paradigms, and slow? And even besides QML, stuff like QGraphicsScene isn't really what I would call slow for CPU-based 2D graphics. It's good enough to be the rendering system for e.g. ECAD design tools.