5 ms·
There's a port of Qt 6 in the works (not yet merged) here: https://github.com/SerenityOS/serenity/pull/9362 https://github.com/SerenityOS/serenity/pull/9362 Wh
by akling 5y ago
There's a port of Qt 6 in the works (not yet merged) here: https://github.com/SerenityOS/serenity/pull/9362 https://github.com/SerenityOS/serenity/pull/9362
While hackish, it does look pretty promising: https://twitter.com/linusgroh/status/1426904775623385095/ https://twitter.com/linusgroh/status/1426904775623385095/
- Rochus 5y agoThat's cool, thanks for the links; I probably would have migrated Qt5 thought because it is much more stable and battle tested and uses C++98 which likely avoids many linker issues.
- jhasse 5y agoQt5 switched to C++11 with 5.7.
- Rochus 5y agoBut it's not mandatory, is it? Anyway, I would likely use the 5.6.3 version which was the last with LGPL 2.
- ogoffart 5y agoFrom Qt 5.7, C++11 is mandatory. Anyway, why would one want to use an outdated Qt version? I don't think LGPL3 is a problem at all for SerenityOS ports anyway.
- Rochus 5y ago> why would one want to use an outdated Qt version? Well, why would someone want to implement an outdated 90s UI? Apparently there are good reasons. I have many projects even with Qt4.4 and no need to go to a later Qt version. Qt4 already had everything I ever expected. Qt5 brings a couple of advantages (e.g. better modularization and backend API), but Qt5.4 is good enough for that.
- ncmncm 5y agoIt is never too late to decide to begin to learn again. The right time is always now. You never have to, or can, learn everything at once, but you can always learn one thing today, and another tomorrow. Learning is cumulative, so after many days you can look back on much progress.
- Rochus 5y ago> It is never too late to decide to begin to learn again This precocious advice is also thanked.
- detaro 5y agoSerenityOS widely uses modern C++, so I'd assume there's little point in restricting yourself to old C++ when porting a library.
- Rochus 5y ago>> modern C++ Well, according to Stroustrup himself C++98/03 is considered "modern C++" (see e.g. https://www.stroustrup.com/DnE2005.pdf https://www.stroustrup.com/DnE2005.pdf ); and I can confirm from personal experience that C++98 and STL were a big step compared to what we had before. C++11 and later have some advantages, but nothing I couldn't live without (personally I don't consider policy based design the way to go). Actually Qt itself nicely demonstrated how to do perfectly well without e.g. move semantics.
- detaro 5y agoKind of besides the point that "C++98 to avoid issues" when porting to a project that requires C++20 seems a bit odd. (And let's say that the quality of Qt's solutions in such cases over what you can now do is ... controversial)
- Rochus 5y agoDoes SerenityOS require all apps to be implemented in C++ or even C++20? I guess not (didn't have a close look at it yet).
- ncmncm 5y agoObviously not, if so many non-C++ programs are ported to run on it. Kernel, core libraries, and native programs are C++20. Don't expect pull requests for archaic-styled patches to those to be merged.
- ncmncm 5y agoThat was published 16 years ago. Fortunately, Andreas isn't so confused. C++20 is a wholly more pleasant programming environment than any previous C++. When there is a choice between the old way and the new—which there always is, for backward compatibility—the new way is almost always better. For some cases, the newer way is better sometimes but not always, e.g. east function return type, with "auto", vs. old-style west. For short functions, deduced return type, i.e. neither one, is often best. All that said, C++20 coroutines will be much more pleasant to use when thd C++23 library support for them lands.
- martinbriza 5y agoQt6 is built with CMake which I feel way more comfortable with compared to the configure script from Qt5 (actually, I probably wouldn't be able to do this with just configure). However, most of the code I've changed is used in the old buildsystem as well so somebody could possibly reuse what I'm doing in a Qt5 port. I'm not planning to do that though, Qt 6.2 will be perfectly good for my personal and selfish needs. :)
- Rochus 5y agoThanks; I assume it's a challenge anyway.