[Interest] QtArg

Nikos Chantziaras realnc at gmail.com
Wed Apr 11 16:46:55 CEST 2012


On 11/04/12 16:03, Thiago Macieira wrote:
> On quarta-feira, 11 de abril de 2012 10.34.58, Rui Maciel wrote:
> [...]
>> Honestly, I expect Qt4 to be kept in use for a long time.  And if push
>> comes to shove, I suspect that some Qt4 users will be more keen to
>> invest in a Qt4 fork or even ditching Qt in favour of some other toolkit
>> instead of jumping on the Qt5 bandwagon.
>
> I understand that. Yes, I expect Qt 4 to be used for a long time too, but I
> really, really hope that there is no push to come to shove. I really expect
> that transitioning from Qt 4.8 to Qt 5.x be a matter of a few, easy search-
> and-replaces and then a recompile. So I expect that the transition be
> undertaken by most projects at the first opportunity, like when you'd upgrade
> across minor versions of Qt.

Lots of people seem to think that porting from Qt 4 to 5 would require 
the same amount of refactoring work as the change from Qt 3 to 4.  All I 
can say is "don't panic!"  That is not true.  The only "downside" with 
Qt 5 is that we can't switch to it, but rather will need to support it 
in parallel with Qt 4.

Just as with the Qt 3/4 transition, the two versions will coexist for a 
few years, and if you want your apps to integrate well into people's 
desktops, you need to support both.  But with Qt 3 vs 4, this wasn't 
really possible, or required too much work so most people decided to 
either stay with Qt 3 for a while or rewrite for Qt 4 and only do minor 
maintenance updates to their Qt 3-based versions.

I don't think we will see this with Qt 5.  Supporting both 4 and 5 with 
a few #ifdefs seems quite feasible.

So this isn't why I "fear" Qt 5.  What makes me uneasy is how Qt seems 
to slowly (but surely?) deprecate C++ for JavaScript.  I believe all GUI 
code should be in C++.  JavaScript, like all dynamic and weakly-typed 
languages, always looked to me as a language for lazy people who don't 
care about runtime errors and view the extremely helpful compile-time 
checks as an "annoyance."  Qt was always a C++ toolkit, and now it seems 
it's slowly becoming a JavaScript toolkit instead.  All would be OK if 
JavaScript was offered through bindings.  But making it a native part, 
without a way to get to its functionality with pure C++ code; that just 
sucks and doesn't make sense.  Common sense suggests JavaScript is a 
high-level interface to the low-level C++ parts.  Qt decided to go 
against common sense here.  And it kind of feels like we're being 
betrayed; after all these years sticking with Qt, it might turn its back 
on us, hanging out with its new homies, the mobile folks, because we're 
not cool enough anymore to hang around with.

Anyway, I'm ranting too much since Qt 5 has not really deprecated C++. 
I just don't like the fact that I might need to put a "yet?" in the 
previous sentence.




More information about the Interest mailing list