3 ms·
Qt is already idiomatic C++17. Isn't it?
by isomel 5y ago
Qt is already idiomatic C++17. Isn't it?
- brnt 5y agoYou're joking right?
- runnerup 5y agoNo, they’re ignorant. And the rest of us could use a clue too — I only use Qt with python and would love context on this.
- brnt 5y agoIdiomatic C++98 and idiomatic C++17 might as well be two different languages. Using Qt, you'll feel forced to unlearn much of the recent good stuff and code like it's 98-ish. The fact that Qt comes with many of it's own standard types (QString!) without automatic conversion (unlike Qt for Python) makes it verbose and integrates badly with STL types. Then there are still some macros you need to use (e.g. for Connections). In Python they did an excellent job with all of that.
- jcelerier 5y agoWhat more integration do you need ? Qt types are able to use move semantics, are compatible with standard algorithms, support function objects and thus lambdas for callbacks, standard atomics, there's QStringView to match std::string_view use cases... What else ? Hell, it's trivial to make Qt work with c++20 coroutines ; Qt itself requires C++17 compilers since Qt 6
- brnt 5y agoIntegration is for instance not having to use QString(View) is the first place, like one doesnt with many of the bindings, including Qts own Python binding. If you can show me a codebase that you think is modern C++ and uses Qt, it would be much appreaciated. I keep running into walls and havng to go back to coding like it's 98 basically, but hey, love to be shown it's me.
- jcelerier 5y ago> Integration is for instance not having to use QString(View) is the first place, like one doesnt with many of the bindings, including Qts own Python binding. that's because Python has unicode strings. C++ doesn't have a single, canonical unicode string type. QString and QStringView are fundamentally different data types than std::string and std::string_view which aren't unicode ; the std::string and std::string_view Qt equivalents are QByteArray and QByteArrayView.
- pjmlp 5y agoPlenty of people that actually pay for Qt, use it in environments where beautiful C++17 CppCon like examples are not welcomed, or even possible. Naturally they care most about the people that support their families. Anyone that dislikes this is free to provide pull requests.