Re: Position of MS regarding the future C++ Standard
Victor Bazarov wrote:
to drag developers over from
perfectly suitable C++ to its proprietary .NET technology
and C# in order to tether customers to MS products. I claim
that people abandon C++ because it doesn't suit their needs
anymore rather than MS evil plan. MS just follows what
market desires.
But that's the chicken and egg problem. How can you claim that
MS "follows" what "market desires" if it's MS who essentially
drives the market? The recipe is simple. First introduce .NET.
Then base the whole OS on it. Then do nothing to keep the rest
of the technologies [running on your own OS] afloat. What will
happen? The other technologies will die out.
That's the crux of the difference in our points of view. You
believe that MS drives the market. I believe that MS is able
to distract it [temporarily] to very limited extent and in
limited areas only. However, even that is against MS'
interests because such endeavor will waste precious
resources without apparent benefit. Even if MS will commit
suicide tomorrow, software development won't stop and other
companies will fill the vacuum happily.
Before .NET framework emerged MS already was dominant vendor
with its VC++ and VB. MS could just polish its products
further and still enjoy lion's share of software market
without much efforts. Why all this bother with completely
new platform and shoving it through developers' throats? Why
to take such risk just for sake of smothering some marginal
technology of other vendors?
C++ is not main rival for C#. MS is just pushing what is
falling anyway. .NET competes mainly with J2EE and similar
technologies. C++ decline occurs naturally. No much efforts
required neither by MS nor SUN to allow it happen.
Exactly. So, when it comes to choosing between C# and C++,
which one do you think MS will nurture, given that the resources
are always limited? Or do I use wrong assumptions, and when
it comes to C# and C++, MS is not choosing, it has enough
resources to sustain both?
As I see it that's what happened. When people started to use
Java and accompanying technologies they were pleasantly
surprised by speed and cost of development, to put it
mildly. So, it became pretty obvious in what direction the
future of software development lies. MS had two hypothetical
choices (but not the real ones):
1. To try to impede Java-like development as much as
possible, while putting all its weight in favor of native
C/C++ development. To make astonishing IDE with wizards,
intelisense, debugger and what not; to recruit best brains
on the planet, so they forge amazing C++ framework to
supersede MFC/ATL; etc., etc.. However, nobody succeeded to
stop time, so far.
2. Instead of fighting natural course of history and
eventually loosing, to join it with good chances to be in
the vanguard. So, naturally, to allocate majority of
resources in order to produce [hopefully] better platform
than one of competitors' and entice everybody in. The rest
of technologies, as you said, are left to themselves with
minimal attention.
It's no wonder that MS chose second way and now is betting
on .NET with C#. Otherwise, it would be left on the wayside
with irrelevant products while others would enjoy growing
market shares.