[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