News for hackers. Stuff that matters.
Re:Qt 5.7 released by dkersten on Thursday June 16, 2016 @01:11PM (#11917431)
Serious question because I'm curious: what is the problem with the MOC?

Sure, its another build step, but so what? I mean, most large complex software has numerous build steps and MOC is pretty straightforward (and if you use QMake or QtCreator, its pretty much invisible to the programmer). I'm trying to understand why people dislike it so much.

Re:Qt 5.7 released by Too on Friday June 17, 2016 @12:49PM (#11923703)
It pretends to be c++ but it doesn't support all features and it fails silently during compile time when you don't use it in the exact specific way, problems first arrive at runtime. Some examples of seemingly simple things that just dont work without wrestling or not at all: Objects referring to other types of objects, enum class, 'using' aliases, stdint types, namespaces. Signal slot connections are not compile time type safe. The make process is also broken as sometimes it doesn't understand which files should be rebuilt so you have to force it by removing all generated files.
Re:Qt 5.7 released by dkersten on Thursday June 23, 2016 @05:22AM (#11959729)
It pretends to be c++ but it doesn't support all features

It IS C++ though. All of the moc keywords are just macros (that the moc happens to interpret otherwise). signal: is just `#define signal public` and so on. You could compile annotated code without moc without issues.

Signal/slot connections are also compile-time type checked if you use the Qt 5 function pointer syntax: https://woboq.com/blog/new-signals-slots-syntax-in-qt5.html

I won't comment on the rest of what you say, as I don't really know enough about it.

Re:Qt 5.7 released by RotsiserMho on Thursday June 16, 2016 @01:30PM (#11917578)
My problem with it is the fact that it inserts itself in my otherwise standard-conformant C++ code; right in the middle of class declarations. If I decide I want to use another GUI framework I'd have to refactor that code. Most other build steps occur before or after compilation and are far less intrusive. In short, it's too tightly-coupled to application code.
Re:Qt 5.7 released by dkersten on Thursday June 16, 2016 @02:36PM (#11918006)
You mean stuff like the "signal" and "slot" declarations in the class definition?

Wouldn't these types of classes be tied to the GUI framework anyway due to the inherited classes, implemented virtual functions, widget classes referenced and so forth? In my experience (having used Qt, GTK, FOX, FLTK and wxWidgets over the years), different GUI frameworks are significantly different in their APIs and how they work, to the point where I think changing existing code from any of these to any other is a very difficult job, with or without moc.

Re:Qt 5.7 released by joezydeco on Thursday June 16, 2016 @02:41PM (#11918039)
If I decide I want to use another GUI framework I'd have to refactor that code.

If you're already developing in Qt, what do you think the probability of that is?

Personally MOC is worth the price of admission just to have signals transparently marshaled and queued across threads. It makes life incredibly easy.