3 ms·
It's probably the old codebase. I have seen this kind of thing happen more often with old C++ codebases in general. Typically, the symptoms are: * They have n
by saidinesh5 4y ago
It's probably the old codebase.
I have seen this kind of thing happen more often with old C++ codebases in general. Typically, the symptoms are:
* They have no unit tests. No linters or other code quality checks. No CI at all. Gui testing is usually not automated in most places I worked at, but skipping out on CI tends to make the code suck extra hard in the long term.
* They have to manually run 4-5 steps everytime to build and test the code they're working on. This kills the developer productivity instantly.
* They don't manage the memory properly. They sprinkle new/malloc, delete/free everywhere. They use shared pointers everywhere. They probably implemented their own auto_ptr classes. It's hard to figure out who owns and frees an object in such code. It usually leads to very buggy and unstable applications. Qt complicates this even more because it comes with automatic life time management of QObjects (if you delete a parent, all the children get deleted).
For me, I've worked with Qt on and off over the last 11 years or so. It's a mixed bag. For describing GUIs on embedded systems, i haven't seen anything better than QML/QtQuick so far. But because of the licensing situation with Qt, a lot of companies I've worked at still choose an old and outdated version of Qt (just like the above project which uses Qt 5.6), which means we reimplement the same functionality again and again.
For cross platform desktop applications, Qt/C++ is still the most mature framework ice seen. I don't have that many complaints with Qt itself here. But C++ projects don't have a proper way to manage dependencies. No standardized build system. So I've seen annoying "solutions" like electron having less friction than Qt/C++ projects.
Modern C++ and tooling solves a lot of these headaches. But you still have to use a lot of good but old C++ code that doesn't come with any of those goodies.
So is say it's a mixed bag.