[Qt-interest] QT windows visual studio 2008 version

David Ching dc at remove-this.dcsoft.com
Mon Jul 5 23:52:50 CEST 2010


"Thiago Macieira" <thiago at kde.org> wrote in message 
news:201007041909.36552.thiago at kde.org...
> That is not correct. Qt 4.5 is compatible with 4.4, Qt 4.6 is compatible 
> with
> 4.5 and Qt 4.7 will be compatible with 4.6, 4.5, 4.4, etc.

Sorry, of course you are right.  I meant to say that Qt introduces 
incompatibility with major versions, e.g. Qt 4 is not backward compatible 
with Qt 3.  The point is to illustrate that all companies at some point 
break compatibility.  MS just does it the most often!  ;)


> If we upgrade, people who didn't upgrade get upset. If we don't upgrade,
> people who did upgrade get upset.
>
> Damned if you do, damned if you don't, so we try to displease the least 
> amount
> of people. That means trying to guess how many people have already 
> upgraded.
>

Why is it either you do upgrade or don't upgrade?  You had both with VS 
2005, for commercial customers, you provide both RTM and SP1 versions.  It 
is only starting with VS 2008 that you only have RTM.


> Also, as a matter of policy, we don't introduce support or remove support 
> or
> change the compilers we build with in patch releases.
> Due to lack of resources for building with it and because there hasn't 
> been a
> Qt minor release yet since the official launch of VS2010. The support is 
> coming
> with 4.7.

I don't believe this policy serves the customers well.  With the latest ATL 
Redistributable update, it was a huge surprise to everyone when MS sprung it 
on us, and many organizations lost days or weeks trying to figure out what 
the deployment scenarios were and what needed to be rebuilt, and making it 
happen.  Certainly a large part of this was due to all of a sudden having to 
rebuild Qt with the ATL Update, and Nokia not saying word one about it. 
Many commercial customers simply take it as a benefit of their purchase to 
not have to build Qt, and having to drop everything to figure out how to do 
this was a hardship and they were clearly not getting what they paid for.  I 
would have expected new zip files to show up in my private ftp folder that 
had Qt built with both VS 2005 ATL Redistributable Update and VS 2008 ATL 
Redistributable Update, without doing anything.  (Fortunately I had long ago 
learned how to build Qt as I had to move some Active Accessibility fixes 
from 4.6 into 4.5.3, but no one else in my company knew much about it, and 
it did take several days for me to figure out the ins and outs).


> Which is a consequence of MS's decisions on their compilers. Just 
> calculate
> how many combinations there are:
>
>	MSVC2005
>	MSVC2005 SP1
>	MSVC2005 + ATL
>	MSVC2008
>	MSVC2008 SP1
>	MSVC2010
>
>Multiply that by the number of versions of Windows (XP, Vista, 7) and again 
>by
>2 for the 32- and 64-bit variants (yes, we must test them, even if we don't
>make binaries).

I don't understand what is the resource issue here.  Sure, there are a lot 
of combinations, but hardware is cheap.  How thoroughly do you test, and 
surely these tests are automated?  You can always support RTM as Tier 1 and 
the SP as Tier 2, if you want.  Mostly Tier 2 is good enough (I suppose 
there is much smaller testing).  It shouldn't take more than a few days at 
the most to add a build and rudimentary automated tests to another platform 
(I shouldn't think anyway).


> However, in fact, I agree with you: we must move faster. So what I'd like 
> us
> to do is stop supporting anything but the latest compiler, plus switch to 
> the
> latest from one patch release to the next. What do you think?

I agree that requiring VS 2010 for Qt 4.7 would mostly work.  "Mostly" work. 
I would really like Qt to support VS 2005/2008 (and all SP/ATL updates) as 
well because as alluded to, apps depend on many more dependencies than Qt, 
and it is common for an app to really benefit from e.g. Qt 4.7 (especially 
with QML) but still need to be built with VS 2008/2005 due to other 
components from other companies that do not yet have a VS 2010 compatible 
library available.

This is for VS 2010.  It would not have held for e.g. moving from VS 2005 to 
2008, because 2008 had almost no benefit for C++ over 2005, and in fact just 
became slower for no feature benefit.  Therefore, in practice many companies 
still use VS 2005 and ignore VS 2008.  But VS 2010 has much advantage to C++ 
developers, so it is anticipated VS 2005 will scarcely be used now and 
everyone will shortly be on VS 2010.  So VS 2010 is really a breaking change 
in the tool chain.  Who knows if VS 2012 will be breaking, so why talk about 
a rule that says when to support current and previous compiler versions, 
when we don't yet understand what that really means in terms of benefit to 
the customer?

As alluded in further posts on this thread, requiring VS 2010 should happen 
only for "major" or "minor" releases, while "patch" releases like 4.6.3 need 
to support the VS that was current when 4.6 was released (e.g. VS 
2005/2008).  Further, Nokia cannot wait for the next Qt release to support 
hot fixes like the ATL Redist update which caused immediate pain for all 
involved.  I would expect Nokia to offer pre-built binaries of ATL Redist 
Update for currently offered Qt versions within a few days of an occurrence 
like that.

I also don't know what is taking so long to come out with the Visual Studio 
add-in for VS 2010.  I would have expected that to have been released when 
VS 2010 went RTM.  (As the RTM was delayed for over a month.)

Thanks for engaging in this conversation, Thiago.  Much appreciated as 
always.

-- David
 




More information about the Qt-interest-old mailing list