In the case of game engines, productivity is less important than performance. Most games use some scripting language on top of C++.
I agree that C++ is somewhat productive through Qt, but then again Qt is just one area of many - and QML is an acknowledgement that JS can bring greater productivity than C++ within Qt.
Having done lots of both QML and QWidgets there are many tasks for which I feel I'm more productive on the latter. There are also regular posts on the Qt mailing list asking for a complete c++ version of Qt Quick, and people who kinda implemented a similar thing in another library (QSkinny iirc?)
Like, in c++, I just type approximately what I want, especially when writing glue code or creating a new api, and add compile-time checks & fix compiler errors until things build which is a super fast process ; with QML (or other less strict languages) it takes much more time in a slower edit-run cycle to write correct code.
And this is mainly due to new c++ features: what would have taken fifty lines to define a static check for in c++03, 30 in c++11/14 with e.g. enable_if, takes at most a couple in c++20 with concepts
>QML is an acknowledgement that JS can bring greater productivity than C++ within Qt.
That's not what my friends who still do Qt jobs tell me. They consider it more of a hindrance because you're limited in what you can do. And it's buggy.
I agree that C++ is somewhat productive through Qt, but then again Qt is just one area of many - and QML is an acknowledgement that JS can bring greater productivity than C++ within Qt.