Welcome! and rules
Joel on Software
Visual Studio 6 v. VS .net for non-.net C++?
I do not thing the differences are overwhelmingly significant, but I do like the VS.NET IDE enough that I have just moved a couple of straight non .NET projects over. Everything compiled and worked fine. Changes to MFC are pretty minimal, as far as I can see. Certain things (like changing project properties and similar) are moved around just enough to annoy me (also a long time VS6 user).
I haven't used C++.NET much in the past but I did use it to create a few simple COM objects. I like the Attribute based approach for created COM objects. It's much cleaner:
I found the VS.NET IDE to be more integrated then previous versions. I like the new tabbed MDI windows, and intellisense seems to work a little better. The GUI is now shared between diffrent languages which makes things easier when you are switching back, and forth between C++, and C#. WinForms rock though, finally a decent RAD environment.
The VS.net environment is pretty kick-ass for non-managed C++ too. Think about the convenience of Intellisense in VS6, and then double it. The new environment is just super-helpful about filling in method names and parameter types. Very handy. The integrated documentation extractor (turn leading comments into doc, just like JavaDoc) is very helpful. The doc shows up as tooltips while you are browsing a class.
You may be interested in the fact that ClassWizard has been removed. The functionality is now made available via the Properties windows. This seemed very VB like and turned me off at first.
We have a rather extensive application framework that is based on MFC 6.0. It involves a number of Extension DLLs using dynamic linking with the MFC libraries. We have experienced big problems with porting our application to MFC 7. Not so much because of changes to MFC as because of errors in the compiler and/or linker. It appears that Visual Studio.NET does not always correctly import template based classes (Q309801). We also have problems with dynamically created classes that seem to disappear from the chain of RunTime classes. The result is broken Serialization because the classes cannot be found. The odd thing is, that this particular problem seems to go away in a Release build!
I've been working in unmanaged C++ (old projects at work) in VS.net for a few weeks now.
I agree that I did NOT like VS.NET's IDE at first. My favorite keyboard shortcuts have been changed. Some of the menus are quirky. For example, the Project\Settings has been renamed View\Properties. However, the Properties menu item is not always visible in the View menu! You must first right-click on your project's name in the Solution Explorer (aka Workspace), and THEN the Properties menu item is magically added to the View\Properties menu. :-(
I forgot to add the F7 Build keyboard shortcut has been replaced with SHIFT+CTRL+B. Of course, that can be customized.
Here's an interesting article by Nick Hodapp (Microsoft's Visual C++ .NET Product Manager).
If your prefer the Visual C++ 6 keyboard shortcuts, change the following setting:
Bernard Vander Beken
We moved to using VS.net for our non-.net C++ several months ago, and I've found the new IDE a joy to use on the whole. The removal of the class wizard for MFC applications was hugely annoying at first, but I'm now quite used to the 'Delphi-style' interface.
The compiler itself has also been improved. So even ignoring the IDE, you'll probably get better executable code out of the VC7 compiler....
Fog Creek Home