Re: Future of C++ and .NET/WinFX

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance

From: Carl Daniel [VC++ MVP] (cpdaniel_remove_this_and_nospam_at_mvps.org.nospam)
Date: 09/30/04


Date: Thu, 30 Sep 2004 16:23:24 -0700

Jason Vene wrote:
> Have I missed something here? Will it be possible for C++ targets to
> take advantage of every benefit of the .NET future? Should I consider
> a roadmap that migrates my code toward C# rather than managed or
> mixed C++?

With Visual C++ 2005 (aka Whidbey), C++ will be the implementation language
of choice for .NET, IMO. It will be possible to do everything in C++ that
you can do in C#, including produce verifiable images. And you'll still
have C++ templates, separate compilation, and all the other things you've
come to expect from C++.

> While I'm not targeting applications the likes of Photoshop, Maya or
> some non-linear video editing package, I'm far above the lesser
> requirements of standard "bag-of-fields" type business applications,
> and would benefit greatly from mixed C++ (or all unmanaged C++). How
> would this play out for WinFX targets? Must I be forced into mixed
> mode programming to take advantage of Avalon?

You're only forced to do mixed-mode programming if you can't find (or write)
what you need in managed code. Note that it's quite possible to take an
existing "native" C++ app and compile it as managed code. For example, this
has been done internally at MS with some significant apps that have far more
than the "bag of fields" UI requirements that you allude to.

> I don't believe the C# languages currently in open source for Linux
> (the mono project) will be "allowed" to survive, nor do I think
> they'll do any better than Java under Unix or Mac (compared to Java
> under Windows). This makes cross-platform targets more work if C#
> becomes a requirement, so I really hope to avoid the language without
> loosing access to features users may come to expect in, say, 2006
> through 2008.

I think they'll survive or fail on their own merits. MS certainly isn't
doing anything to stifle the development of Mono or other implementations of
the CLI/CLS and C# language.

-cd