Ive been using Microsoft Visual C++ 6.0 (from now onwards VC++ for the whole term unless version mentioned) for the last 7 years!
Though there are many complications, irritating non-working state of Intellisense, weird non-sense Linker errors - even if symbol is defined, random crashes at times while just editing code and others; I would still recommend this IDE to be perfect for high performance client as well as server side development.
Needless to mention what IDE is and what are its features, you can find it in zillions of documents available on the Internet. I just summarize what it does (and does not):
--1--] ClassWizard is the heaven for early bird programmers (or users, if they are learning MFC!) - it manages functions, classes and their implementations behind the scenes. You just need to press Ctrl+W and breeeeze. Using //{{ style commenting it does it task!
--2--] It supports many type of Project wizards: COM/ATL, MFC Application, MFC DLL, Windows Service, Generic EXE/DLL, Utility project, Database project to name a few. Some development tools like Oracle, also adds up their wizards to create projects on the fly. Even more, you can also design your own Project Wizard by following some guidelines!!!
--3--] Specifically for C/C++ projects (MFC and/or ATL or none), is supports numereous settings: Compile , Link, Browse Info, Pre/Post Build setup, C/C++ language settings, MIDL, Resource compilations, DLL options, Debugee application for DLL, Pragma options and many others. No other IDE, known to me, offers this amount of facilities.
--4--] Exccellenntttt debugging tool. Other than your regular EXE projects, you can also debug your DLL projects on the fly. You can also debug other running process (Using TaskManagers Debug option!). Furthermore, a single instance of VC++ can debug multiple DLLs/Projects!
--5--] Supports many types of resource editing tools within the IDE. Dialog Editor, Icon Editor, Bitmap Editor, Menu Editor, Accellarator Editor, Version Editor to name a few. Yes, you can also have own custom resource in your project. Drawback of VC++: It does not allow many high-quality formats. This issue is resolved in .NET 2002 and 2003 and surely will be more advancements on 2005!
--6--] You can also generate .MAP files, Assembly output files, Debugging information and other outputs for debugging RELEASE BUILDS!!! I bet not all of you know ALL these features!
--7--] Many times, Find-in-Files is my favourite when Explorer in the file search fails. VS 2002/3 also supports Replace-in-files, which is simply Astounding feature!! I loveee it!
--8--] Using AUTOEXP.DAT (search on Internet about this!), Add ons for displaying custom data types, Intellisense, @err variable, Watch window, call stack, Memory windows, Unicode string views, extended watch window attributes (like str, 10, nYear1, c etc.) and many other features; You just add unlimited debugging experiences and options!
--9--] For COM based projects (ATL and/or MFC), it facilitates many features that even intermediate programmer cannot code it! Even that supported code-enhancements become nightmare for experienced professionals, if they hardcode it...
--10--] This IDE is also packaged with excellent tools like COM/OLE viewer, GUID generator utility, ActiveX test container, Error lookup and few others. You can also add other utilities too. One day or other you come to use them in handy way, although their command version is also available.