Click here to Skip to main content
Click here to Skip to main content

Tagged as

A Visit to Redmond - Part 4

, 19 Oct 2000 CPOL
Rate this:
Please Sign up or sign in to vote.
For those who are curious as to what a hastily scheduled trip to Redmond is like.

Introduction

 Last week I popped on over to Redmond to have a chat with the guys at Microsoft on the future of Visual C++, MFC, and the new .NET world. Instead of presenting a point list of what we can expect in the future, I wanted to give you guys a taste of what a visit to Redmond is like, and I'm dead keen on having feedback from you on your own personal experiences.

A quick Thanks goes to Dundas Software and Microsoft for making this trip possible.

Part 4 - Visual C++

As I mentioned in part 3, and most important thing I got out of the meeting was that Visual C++ and MFC is alive and well. PDC 2000 was a launch of the new technologies surrounding .NET, and unfortunately the message that was delivered was a little murky on the future of C++/MFC.

There were a number of reasons this happened. PDC 2000 was not the 'header file' conference of past years, where loads of Microsoft guys would walk through the new libraries on offer, the new header files you needed to use these libraries, and the new API's available for whatever version of Windows was flavour of the month. PDC 2000 was more about the explaining, and demonstrating, the future directions of Microsoft's vision rather than trying to show every single change that had been made in the move to .NET.

Boo!Another reason C++ and MFC lacked exposure is that it was hopelessly overshadowed by the new kid on the block: C#. Internet applications are the big thing in .NET, and C++ programmers will most likely feel more comfortable writing their ASP+ apps in C# rather than in VB. Then there was the "Is C# Cool" (depends how you look at it), and "Is C# Microsoft's answer to Java" (you decide ) controversies.

But most of all, C++, and MFC in particular, no longer has an evangelist like Mike Blasczak. When you think of MFC who do you think of? George Shepherd, Jeff Prosise and others certainly spring to mind as prominant book authors, and Paul DiLascia writes great code, but who is there to stand up, be opinionated, possibly obnoxious, insightful, and hugely entertaining in their quest to enlighten the peasants about the magic that is MFC?

So, sadly, MFC was a was a bit of a wallflower at the PDC bash, but the guys at Microsoft would very much like to make up for that.

So what's the deal with Visual C++ and MFC in .NET?

Visual C++ is still the development language of choice for many applications. Managed extensions for Visual C++ allow you to create applications that interact with the .NET framework in a way that makes programming simple, quick, and intuitive. Visual Studio is mostly written in C++, as is Microsoft Office (managed wrappers will be provided for .NET). There is simply too much legacy code out there to even think of abandoning or downgrading the language.

 Visual C++ has also been improved in a number of different ways. The debugger in Visual Studio.NET is from Visual C++. There is a new crash recovery feature that allows an application to be restored to its state immediately prior to crashing, allowing post mortems to be carried out. 'Edit and Continue' has been improved, and there is now public access to the debug info file (all the guys at NuMega will be cheering on this one).

C++ conformance has also been improved. My notes are a little smudged on whether the VC++ compiler is the most conformant compiler, or merely the second most conformant (there is a mysterious, unidentifiable, beer-coloured stain on that page of my notes). The Microsoft guys claim that the compiler is so conformant that other compiler manufacturers no longer bother to publish conformance tests.

(brief pause as the din dies down)

No - I never said Visual C++ was 100% conformant, and this seems to be a serious source of aggravation among developers. There were even a number of wry looks among the product managers when discussing VC++'s conformance, but Ronald Laerman, Lead Program Manager for MFC/ATL was very candid on this point. He freely admits that the compiler is not 100% conformant, but what would developers rather have - a new compiler that is 100% conformant and will most likely break legacy code (or fill it with untraceable bugs), or a compiler that is so, so close, but which works seamlessly with all your current and previous code bases. Another point Ronald bought up is that while many developers point to other compilers as being more conformant, what is actually meant by these developers is that the particular compiler they use supports their pet feature. Microsoft would rather keep most of the people happy most of the time than a few of the people happy all of the time. And that "most" is a really big "most". They really are doing their best to make life as easy as possible for us developers.

C++ will always be the language that gives you the most power and flexibility. Microsoft has made a significant investment into the future of the language, and it has been enhanced to work seamlessly in the new .NET environment. While VB and C# may become the GUI application programming language of choice, C++ will the language of choice for writing drivers and components.

I'll talk more about MFC 7, ATL, WTL and STL in a later instalment. The news is all good.

The Microsoft guys felt that they were making Visual C++ more complicated, but for programmers who wish to continue writing non-managed native mode apps in VC++ there is no change. Managed extensions are just that - they are extensions. All your old code will work, and you can continue creating apps the same way until the cows come home (do you have that expression over here?). If you want to dip your toes into .NET then you can. If you want to dive-bomb in and do a big belly-landing then managed extensions allow you to do whatever you want, and the new classes in MFC and ATL will make this even easier.

Next Instalment...

The Compilers.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Chris Maunder
Founder CodeProject
Canada Canada
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.
Follow on   Twitter   Google+   LinkedIn

Comments and Discussions

 
QuestionWill WTL continue? PinsussJames Grant26-Oct-00 14:59 
AnswerRe: Will WTL continue? PinsussErik Funkenbusch27-Oct-00 14:41 
GeneralANSI C++ PinsussJim23-Oct-00 13:08 
GeneralRe: ANSI C++ PinsussErik Funkenbusch24-Oct-00 10:07 
GeneralHmmm - VC is not that funny :( Pinsussreader20-Oct-00 17:40 
GeneralYes, "the cows come home" in the US, too. PinsussJohn20-Oct-00 10:04 
GeneralVC++ Conformance PinsussAnonymous20-Oct-00 8:50 
GeneralRe: VC++ Conformance PinsussWilliam E. Kempf20-Oct-00 12:05 
GeneralRe: VC++ Conformance PinsussChris Maunder20-Oct-00 17:43 
GeneralRe: VC++ Conformance PinsussErik Funkenbusch21-Oct-00 22:47 
GeneralRe: VC++ Conformance PinsussShimon Crown22-Oct-00 5:03 
GeneralRe: VC++ Conformance PinsussCrispy23-Oct-00 9:33 
GeneralRe: VC++ Conformance PinsussShimon Crown23-Oct-00 21:07 
GeneralRe: VC++ Conformance Pinsussanonymous24-Oct-00 6:36 
GeneralRe: VC++ Conformance Pinsussanonymous24-Oct-00 6:37 
GeneralRe: VC++ Conformance Pinsussanonymous24-Oct-00 6:37 
GeneralRe: VC++ Conformance PinsussDaniel Lohmann24-Oct-00 9:00 
GeneralRe: VC++ Conformance PinsussRonald Laeremans30-Oct-00 17:18 
GeneralCan't master them if you can't use them PinmemberJonathan Gilligan14-Nov-00 15:32 
GeneralRe: VC++ Conformance PinmemberBrian Hart19-Nov-00 10:10 
GeneralRe: VC++ Conformance PinmemberErik Funkenbusch20-Nov-00 13:50 
GeneralRe: VC++ Conformance PinsussDavid Cunningham22-Oct-00 5:33 
GeneralRe: VC++ Conformance PinsussRay Auchterlounie23-Oct-00 10:15 
GeneralRe: VC++ Conformance PinsussDavid Cunningham23-Oct-00 13:55 
GeneralRe: VC++ Conformance PinsussWalter Sullivan24-Oct-00 10:23 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.141220.1 | Last Updated 20 Oct 2000
Article Copyright 2000 by Chris Maunder
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid