By chance, are you among those who think that Microsoft is leaving native development in general and the C++ programming language in particular behind? You better watch this interview to Ale Contenti, Principal Development Manager with the Windows C++ team at Microsoft.
[Can't see the video player in this page? Try Channel9]
The interview was made by Christian Binder, Platform Strategy Manager with Microsoft Germany and Development Practices track owner in the still recent TechEd Europe 2010. Ale talks about key differentiators C++ offers today to developers, before other programming alternatives, but he also clears up any suspicion about Microsoft commitment to the language created by Bjarne Stroustrup by listing the efforts Redmond is doing for its evolution.
Ale had also delivered a session on ALM for C++ in that same conference.
In fairness, a lot of the IDE stuff is most likely out of the VC++ team's hands. They have to fit into a gargantuan (and bloated) suite with half a dozen other languages, and a huge number of features to support managed languages. Under those conditions, it can't be easy to provide a snappy and responsive IDE. Complaints about the IDE *in general* being slow should probably be directed to the general Visual Studio blog. The VC++ team would probably rather know what we'd like to see improved in terms of C++ support specifically.
Just guessing. :)
I love VS 2010. It is a great IDE. However, I only use it for C# work.
For C++, I need to use other tool chains (Comeau). The reason is that VS 2010 does will not compile ISO 2003 code. Specifically, export templates. How useful export is or not is not the issue, I have lost that battle when more senior developers refused patches to replace them stating that export is standard (ISO 2003) code. I know that export was removed for C++0x, but do you plan on fully supporting ISO 2003? Until we port to C++ 0x, we will be unable to move to VS 2010 for our native code.
It's about 3 years I stopped using VC and now I'm using Qt and MinGW for new projects. I just use VC6 to maintain an old big MFC project. Almost everything we need to develop with C++ is available free, like GCC, Boost, Qt, wxWidgets, Code::Blocks, SVN, CVS, Apache, mySQL, SQLite, Crypto++, OpenSSL, gSOAP, SOCI, ICU, OpenCV, FreeImage, ffmpeg, lib*, etc. I'm really glad that I don't have to use the slow and bloated VS IDE that is getting worse in every version.
P.s. I appreciate the great works MS done on VC compiler and STL. It's a decent compiler but it is still way behind GCC in C++1x and Intel in parallel and optimization area.
Microsoft, are you listening at all????? Damien, anyone????
I think MS C++ has a lot of catching up to do. The performance of the free GNU C++ is faster for numerical algorithms.
Top problem is the lack of a powerful, elegant and light C++ framework (+ IDE support) to build modern applications. Please bring back WTL or provide us with something new!
hmm, "Microsoft Tells What's Next for C++"? Um, not really.
All I picked up were allusions to:
1. Architecture pack -- thanks for that, it's here today.
2. Better testing framework integration - would be nice
3. Better code understanding/nav tools. - also a good goal
When some of the following things are available in the IDE, THEN I'll feel like we're getting some love:
1. Refactoring support on par with C#
2. Distributed builds
3. F1 help works as expected
4. Native AND Managed symbols reliably available while debugging a mixed-mode app. Debug visualizers would be the cherry on top.
5. C++/CLI intellisense
6. C++ code snippet support
VS2010 isn't the new 6.
I didn't find much meaningful content in the video. It seemed like executive-speak along the lines of: "Customer-facing excellence, and by delivering compelling Offerings, we're producing wordspeaks and productspeaks to generate larger bonuses, hence product success is virtually a given"
I appreciate all the work gone into STL, but STL+MFC doesn't feel unified like QT
I can see the time+effort gone into C# because data structures and UI elements have the same fit+feel. In contrast, C++ feels like MSFT is spinning it so we'll think it’s not a deprecated language :-)
I like the WPF frontend and the ability of making custom IDE plugins. Third-party vendors do wonders integrating with the new editor. VS2010 rocks for C# development.
C++ you ask? I think it has definitively been neglected. IDE support is horrible. My intellisense freezes all the time; except for C++/CLI where there is no intellisense to speak of.
Anyway, why won't Microsoft make it easier to plug-in other compilers into VS? Since VC++ compiler is free, the money comes from VS sales. Why can't VS integrate with clang or the gnu chain?
> I know that export was removed for C++0x, but do you plan on fully supporting ISO 2003?
It is now possible to definitively state that we will never implement export.
I agree but it is definitely not the case for C++ development, the IDE is no longer designed for C++ developers, this is very frustrating (just look how slow it is ....) and it's getting worse every new version. I'm starting to think that dropping C++ support from Visual Studio and writting a new IDE with the VC6 spirit would be the best thing to do!
I like the compiler and STL improvements though!
@Filip: or perhaps it's time to go a step further, and ask why Microsoft needs to play catch-up on the compiler *at all*. There are now so many high quality alternatives, that perhaps the VC++ team's time could be more profitably spent improving Clang (and of course, adapting it to be ABI compatible with the current compiler). Or perhaps they should license Comeau. Or perhaps not. But company "pride" aside, is there really a good reason to maintain a Microsoft C++ compiler? Can they keep up, and does it take too much focus away from all the *other* things that the team could be doing?
Just thinking out loud here...
As a C++ developer, there are 2 things that I love about Visual Studio:
- The quality of the debugger
- The code browsing capabilities (when combined with Visual Assist).
Unfortunately, these days I only dive into Visual Studio when I need to debug something, because the IDE is simply not scalable. I need something that can load a few hundred projects and not choke, and ideally be able to reload said projects after external modification without too much delay. All other problems are secondary, this one is a show stopper.
I know my comment won't change a thing, but I just have to say this.
I am a C++ developer and I despise VS 2010. Nobody I work with likes it either. The only good thing in it is partial support for C++0x.
Among the most irritating problems are:
* Slow editor. After you work with a moderately large project for some time, even simple things like Find Next are taking seconds if not tens of seconds. No addons, things like tracking changes are turned off, fully patched system, latest hardware... You press F3, then wait 3 seconds while the IDE figures out that it has to move the cursor three lines down. Embarrassing. VS 2008 can handle the same codebase just fine.
* Slow debugger. Slow to start, slow to add a breakpoint, slow, slow, slow... No, there are no conditional breakpoints. No, the Auto window is not shown. Yes, it was faster in VS 2008. Much faster.
* The debugger refuses to show values of certain variables, or shows wrong values. Frequently happens with values of types declared in unnamed namespaces. Sometimes happens with normal functions, no templates, nothing fancy at all. The variable is there, but the debugger pretends it isn't in that it doesn't show its value. In some cases you can solve the issue by slightly rearranging the code, in some cases you can't. After hitting this issue a number of times, you get tired of it and just add an assert or log or whatever to check the value of the variable manually.
* No multi-targeting (.NET) for C++ / CLI. Oh, yeah, baby. C++ is totally up there with C# and others...
I could go on and on (I haven't even mentioned the complete non-feature that is the new Help, yes, it is absolutely hopeless), but I feel better now so I will stop.
Just in case someone at Microsoft cares, here is my suggestion on how to improve C++: stop doing interviews and start working.
Just wanted to chime in and say that I also use Google to find what I'm looking for on MSDN, because the integrated help system doesn't work.