Lon Fisher on .NET - 23 August 2000

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
that space).

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
into VC7.

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
Basic.

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.

Share

About the Author

Chris is the Co-founder, Administrator, Architect, Chief Editor and Shameless Hack who wrote and runs The Code Project. He's been programming since 1988 while pretending to be, in various guises, an astrophysicist, mathematician, physicist, hydrologist, geomorphologist, defence intelligence researcher and then, when all that got a bit rough on the nerves, a web developer. He is a Microsoft Visual C++ MVP both globally and for Canada locally.

His programming experience includes C/C++, C#, SQL, MFC, ASP, ASP.NET, and far, far too much FORTRAN. He has worked on PocketPCs, AIX mainframes, Sun workstations, and a CRAY YMP C90 behemoth but finds notebooks take up less desk space.

He dodges, he weaves, and he never gets enough sleep. He is kind to small animals.

Chris was born and bred in Australia but splits his time between Toronto and Melbourne, depending on the weather. For relaxation he is into road cycling, snowboarding, rock climbing, and storm chasing.

Is the CLR like the Sun Java's "Java Runtime Environment" in that it has to
be on the clients machine for the code to be executed? I notice that the
code when compiled creates an executable so I hope that this is not the case.
So much easier to distribute software when one does not have to worry about the
customers machines having the right software installed. Anyone know of any performance
comparisons between c++ and c#?;P

Yeah, my guess is that they like WTL, but they can't have developers concentrating on too many frameworks at once. Though promising, it is a casualty of the new .NET framework which is meant to replace both it and MFC. I would think though, that some of the wrappers, like CString and CComboBox might make it over as they are additions to ATL and not an entirely new framework.

I was in Redmond all last week getting information for my C# book and talked to Walter Sullivan about this. Walter is the person that put the WTL on the MSDN to begin with and he's also the Product Manager for the MFC/ATL team (so that should dispel the rumors that the "culprit" was fired over this

Walter specifically said that the WTL will, in fact, continue. However, it will only ship on the Platform SDK (and *not* as a part of VS .NET) and will probably not be documented.