Welcome to the second interview in our series on .NET.
Lon Fisher has been working at Microsoft for over 9 years and is currently
working with the Visual C++ team, and has also worked on MFC, OLE Controls,
ATL, and Visual C++ database support.
What is the future of MFC under .NET, and more broadly, what is the
future of C++ given the emphasis on C#? Also: Is Microsoft
actively working on increasing compliance with the C++ standard? And will
VC++7 include an updated version of the STL?
I’ll tackle both ATL & MFC at the same time. ATL & MFC remain viable options for
developers who want to write unmanaged code, and we’re still actively enhancing the
libraries. Two big things we’re doing for the next version are making ATL interoperate
with MFC better and also creating a new technology, ATL Server, which gets developers
to the .NET platform while being able to leverage their existing ATL/MFC code. We will
not update MFC/ATL to become managed (the .NET Framework already does a great job in
C++ will continue to be developed along side of C#. We want developers to have a
choice of language and development environment, and C++ is still the language used
to develop most Microsoft products. C++ will still be the language of choice for
developers who require the maximum flexibility and control over their code. Having
said that, we expect the productivity of C# and the .NET framework to be very appealing
to many C++ developers, and we’ll always be working hard to make sure that the .NET
framework is more than fast enough for most applications that you’ll need to write.
Again, it comes down to having the most choices for developers, and enabling them to
pick the right tool for the project at hand.
For the STL users out there, we’re working on getting an updated version of STL
Our intention is to keep getting closer to the ISO standard with each release.
As compliance is important for many of our users. However, given all of the work
we’re doing in the next release, I’m not sure we’ll make it all the way to full
compliance in this version.
What was the motivation behind the common language runtime?
The Common Language Runtime is part of the .NET framework and it’s better to understand the whole picture. You can find more information on the .NET framework and .NET vision on http://www.microsoft.com/net.
We expect to see Internet based web services that developers will leverage to create full featured applications for users. The motivation for building the .NET framework was to enable developers to create those web services and end user applications.
We also want to make sure we can leverage existing code. COM interoperability is a fundamental feature of the .NET framework. A service or application can directly access an existing COM component. The idea is that the .NET framework helps move you forward while being able to use existing code.
If Microsoft wants to maximize the mindshare devoted to it’s new
language, what steps will it take to include the general developer community
at this early stage? As there are no newsgroups, no widely distributed
preview of the compiler, and the minimum of information on MSDN, does the
average developer have any way to evaluate the future of this language, or
are will we dependant on reviews and screenshots well into next year?
We’ve just begun releasing C# and the .NET runtimes to a larger audience. If you
attended PDC (The Professional Developer’s Conference), you came away with a CD set.
We’ve also just released the .NET framework SDK PDC Tech preview on
http://msdn.microsoft.com/net. The SDK Tech Preview includes the .NET Framework,
documentation, samples, and command line compilers for Managed C++, C#, and Visual
We’ve also created public newsgroups to go along with the SDK release.
To access the newsgroups, go to http://msdn.microsoft.com/net and select the
newsgroups link of the page. Microsoft is looking for lots of feedback here so
that we can make the best tools for C++ developers.
How much industry participation (outside of Microsoft) has there been in
the design of the C# language? How much will there be in the future?
We’ve had input from a number of industry partners during the C# design process. We’re currently working with ECMA to develop an open standard for C#. You can take a look at the ECMA site (www.ecma.ch) to read more information about how the standards process works
What will be the size of the CLR (for win32, 64 and CE machines) and what
will be the redistribution policy?
We’re just at the tech preview stage in the development cycle, so it’s too early to answer these questions definitively. But if you look at the Tech Preview of the .NET SDK that we’ve released on http://msdn.microsoft.com/net that should help give you an answer.
Will we get MFC70.DLL?
Yes, we are updating the name of MFC42.DLL in the next version.