Earlier quoted context omitted.
> So they replaced the moc functionality with some c++11 magic ? You mean they replaced moc magic with C++11?
Advanced template metaprogramming is far less common of a skill than opening a generated source file and reading source code.
CopperSpice, a Modern C++ Fork of Qt
31–40 of 104 posts
Re: CopperSpice, a Modern C++ Fork of Qt
#32Earlier quoted context omitted.
I fail to understand either, but they say: > CopperSpice has been modified to remove moc, the Qt meta object compiler. Moc was removed to simplify the build process, allow CopperSpice to be a standalone library, increase run time performance, and allow developers to utilize C++11 features. So they replaced the moc functionality with some c++11 magic ?
> So they replaced the moc functionality with some c++11 magic ? You mean they replaced moc magic with C++11?
http://libsigc.sourceforge.net/
But it required beefy template support, which would leave out some of the compilers supported by Qt (not only MSVC).
Re: CopperSpice, a Modern C++ Fork of Qt
#33Qt's Contributor Summit just ended, and one of the topics was C++11 support [0]. The key takeaway is Qt 5.6 will start the move away from C++98 towards C++11 support, though not fully C++11 mainly due to the MSVC compiler's limitations. The joy of being cross-platform. That being said, I don't immediately see the value of using CS over Qt. Binary size alone is not generally worth jumping ship from an established comm…
Re: CopperSpice, a Modern C++ Fork of Qt
#34Why? And why 4.8? The 5.x branch is a far better version of Qt. This looks ridiculous. Qt is a massive framework - the work of hundreds, if not thousands, of people - and this seems to be the work of a random dev with zero backing and a 2004-style website with zero content (everything, even the 14-forum completely empty phpbb forum).
So you don't like it and won't use it, but why do you find it necessary to insult the people who worked on it ? Are they trying to steal something from you or cheat you into giving up your freedom or something ?
I just don't get it. We are all developers and we all know how hard it is to make something.. anything. And knowing the struggle I go through to get things to completion, I have great respect for people who actually finish things and share them with the world.
Even if I won't use the thing and find it useless, I still think they deserve at least a word of support, not a dismissive rant.
Re: CopperSpice, a Modern C++ Fork of Qt
#35Qt's Contributor Summit just ended, and one of the topics was C++11 support [0]. The key takeaway is Qt 5.6 will start the move away from C++98 towards C++11 support, though not fully C++11 mainly due to the MSVC compiler's limitations. The joy of being cross-platform. That being said, I don't immediately see the value of using CS over Qt. Binary size alone is not generally worth jumping ship from an established comm…
One thing broken with moc is parralel build in MSVC. I think we all agree that moc is a dirty hack and needs to go.
We certainly don't all agree that the moc should go. An extra compiler adds complexity to the build, but the build is fast and the generated code is simple. That said, I'm interested to look into CS's alternative.
Re: CopperSpice, a Modern C++ Fork of Qt
#36Earlier quoted context omitted.
Use something like CMake which is cross-platform, works very well in most cases and a lot of cross-platform open-source C++ libs are using already.
CMake. Making easy things easy and hard things impossible. Provided most cases are easy, an acceptable solution.
Re: CopperSpice, a Modern C++ Fork of Qt
#37The last time I used Qt was a long, long, time ago. I liked it, mainly because it avoided the STL and was cleaner. I'm not a fan of C++ (I consider it a baroque and overly complex language), but I enjoyed using Qt. So, this line seems like a drawback to me, instead of an advantage: "CopperSpice is a C++ library derived from the existing Qt 4.8 framework. Our goal was to change the core design of the libraries, levera…
There was always a kernel of a beautiful language inside C++ trying to get out (and it wasn't C). I think the recent moves within the language have started to expose it.
FWIW I have approached Qt many times and always been repulsed by its non-standard use of C++. It felt very much like the project had to be built around Qt -- with their nonstandard preprocessor, lack of embrace of the STL, etc -- rather than Qt fitting itself into existing C++ projects. I'm very picky about the style and structure of my code and I always felt like Qt imposed a huge proprietary overhead on that front. So I've avoided it. If Qt can finally drop moc, and use C++11 features, I might consider it.
Re: CopperSpice, a Modern C++ Fork of Qt
#38Earlier quoted context omitted.
> So they replaced the moc functionality with some c++11 magic ? You mean they replaced moc magic with C++11?
moc magic for signals/slots was already possible with C++98, as proven by Gtkmm already back in 2000. http://libsigc.sourceforge.net/ But it required beefy template support, which would leave out some of the compilers supported by Qt (not only MSVC).
Re: CopperSpice, a Modern C++ Fork of Qt
#39Uhm, "modern" and "built using GNU Autotools" in a single sentence just doesn't compute. Cross-platform portability obviously isn't their goal. Oh and thank you for removing moc and replacing that with some template black magic. Yeah, you can do that, but your developers are going swear up a storm at you once they see the wonderful compilation errors that e.g. MSVC produces with templates ... But I guess they don't t…
> Cross-platform portability obviously isn't their goal. As someone who runs a couple of obscure platforms, I swear every time I have to use a non-Autotools project. Autotools may be slow and may check for seventeen different fortran compilers even if your project never uses fortran, but portability-wise it simply works.
http://freecode.com/articles/stop-the-autoconf-insanity-why-...
http://www.shlomifish.org/open-source/anti/autohell/
That should give you the idea why Autoconf/Automake setups are past their sell-by date. For more than a decade.
Re: CopperSpice, a Modern C++ Fork of Qt
#40Earlier quoted context omitted.
moc magic for signals/slots was already possible with C++98, as proven by Gtkmm already back in 2000. http://libsigc.sourceforge.net/ But it required beefy template support, which would leave out some of the compilers supported by Qt (not only MSVC).
I think I'm not contradicting you, but I just wanted to state that I've been using libsigc with MSVC since 2002 or 2003.