If you don’t know Charles Torre, I’ll introduce him here: Charles is a BIG fan of C++ and he works for Channel 9 (in that order). Charles is the one to blame about the acclaimed series that Stephan put together about STL (beside Stephan himself). And Charles is encouraged to do more and more and more. So to put a beginning in an expectable increase in C++ material to be seen in Channel 9, he interviewed two Visual C++ top executives -Technical Fellow Mohsen Agsen and Director PM Craig Symonds- about the current perceived trends regarding C++ in the developer industry, that Mohsen synthesized in one concept: Renaissance.
You can watch the interview here, and expect for more stuff to come!
Wow, things get serious! Thank you for the video, I can't wait to see more C++ (and C) content on Channel9! The interview is quite interesting and gives a nice overview of the language and its role in the computing industry. It's always a pleasure to watch such talented people talking about native code, thanks Charles.
I liked the previous C++ videos that focused on the language and libraries as well as the IDE improvements but I would thrill to see how numerous teams inside Microsoft (and especially the Windows teams) are taking advantage of compiler and libraries improvements to write some more efficient and robust native code. Diego, do you see any opportunity to produce this kind of videos?
Thank you for the kind words, Diego. It's an honor (and highly educational) working with you and the C++ team! In terms of upcoming native content on 9, this Thursday Stephan will reappear, digging into the implementation details of the STL. This technical information is not found in books or Wikipedia. As usual, Stephan delivers. Advanced STL with STL part one looms :-)
Tell us what you want to know and we will try to deliver. In Diego, the C++ community has a clear and passionate voice inside the Mothership.
An excellent video that allows us a glimpse of how much respect and passion for C++ exists within Microsoft. Exciting stuff!!
Also, am looking forward to STL's advanced lectures on STL and would love to see a similar treatment of the ATL.
Good news.. The channel9 C++ tag rss feed is at the top of my list. I'd listen to Herb or Stephan talk about just about anything. Thanks for producing these, Charles.
+1 for some lectures dedicated to ATL!
I also want to cast my vote for more C++ on Channel 9. Thanks for taking the lead, Charles.
Well, there are still conflicting signals from Microsoft about dedication to C++. There was a post this week on the Visual Studio blog, about job vacancies:
"Core languages (VB/C#/F#)" caught my eye! ;-)
It's quite clear that Visual Studio has been repurposed as a .net development environment. MS needs to create an actual development c++ IDE, or a third party should.
@Milly and @Andrew (is that proper reference syntax for multipe @ targets? I don't tweet much :-)
This is why I asked Mohsen and Craig about Visual Studio and C++, _specifically._ Here's a quick link to their perspectives on this subject:, which should clear up most confusion, at least conceptually: channel9.msdn.com/.../Craig-Symonds-and-Mohsen-Agsen-C-Renaissance
C++ has always been first class in VS. It's just that the managed tooling got more limelight (_in my opinion_ only) being the new shiny objects, but much more importantly the managed tools have a less complex set of domain specific toolset features than C++ (think of the build systems, for example) and the use cases for managed and native are somewhat night and day in terms of number of engineering scenarios - native is everywhere, managed has very targetted domains like ASP.NET-powered web applications and LOB apps written in C# or VB). Mohsen and Craig were very clear on this point, I thought.
I do see positive signs from Microsoft for C++, and native development such as:
Web Services API msdn.microsoft.com/.../dd430435(VS.85).aspx
Parallel Patterns Library msdn.microsoft.com/.../dd492418.aspx
My guess is that Microsoft will end up partnering with Nokia and do QT as the C++ high level libraries, and keep the Windows API as the lower level C API.
However, if C++ is first class in VS, what is the ratio of developers working on C++, C#, and VB libraries and tools ?
You are right, there is a bunch of new technologies in Windows 7 (Direct2D and DirectWrite, WWSAPI, Ribbon, Taskbar, Libraries, Sensor and location, etc.) and the only way to get the most out of them is by using native C/C++, the APIs are not primarily designed for .net developers.
However, I'm kind of puzzled to see that the only book published by Microsoft Press about Windows 7 is an introductory level book (Introducing Windows 7 for developers) and that half of the book is dedicated to the API code pack which has nothing to do with Windows itself...
I'm not a huge fan of QT, my guess is rather that Microsoft (the Windows teams?) is working on a new UI library and application model that will focus (not exclusively) on native development. Part of the C++ team might be working on bringing inside Visual Studio the appropriate tools to write these new applications....
The "core language" thing @Andrew posted caught my eye as well. Apparently, people outside the VC++ team don't see C++ as quite as important? ;)
As for C++ being "first class" in VS, that might more or less be the case technically speaking, but it has still been badly neglected in terms of the IDE. In a lot of ways, it's still the same old C (or, if you're feeling generous, C-with-classes) IDE it was 12 years ago. Only slower and much more memory hungry (no doubt a big part of which isn't VC++'s fault, but is a side effect of being part of a suite that packs so much cruft aimed at managed languages)
Where are the IDE features that support *modern* C++?
In fairness though, I want to be clear that this criticism only applies to the IDE. The compiler has improved a lot over the years (although of course, it can never be good *enough*, can it? ;))
But really, the way I see it, and from what I've heard, I'm not alone, VS for C++ developers ens up scoring something like this:
Debugger: 9.9/10 - best in class, and a pleasure to use (the last 0.1 is because I'd like to see more robust handling of templates; inspection of template types or constants, for example)
Compiler: 6/10 - generally speaking, good enough, fast enough, compliant enough. But not really remarkable given the competition.
IDE: 1/10 - bleargh... slow, bloated, the project system is crippled and restrictive, the wizards set you up with all the wrong settings, several features are *exposed* to C++ projects, but don't actually work (because they're for managed code only), and, as I said, the IDE has quite good support for C, but very little for C++. Oh, and it crashes. I can't really see much in it that's worth keeping.
Given that the compiler works fine from the command line, I only really use the IDE because of the debugger integration.
There is lots of activities in vcblog and C++ in channel9 recently and it's really promising.
Thanks to Charles and Diego. Keep doing the good work.
In my opinion VC debugger and it's IDE integration is number 1. The VC compiler and standard library implementation are really good but the IDE is bloated, unstable and slow.
I agree that this recent activity on the web is promising. We need more people at MS like Charles, Diego and STL.
The IDE needs to be better segregated between native and managed development. Why can't it refactor c++ code like it can with c#? Why can't it browse obj and lib files? Why aren't all the .h file function declarations commented? Intellisense is great, but learning by exploring is even better. You can do this with c# (most of the time) but not with c++ because you have to open _slow as balls_ MSDN to learn what functions do.
Contrary to C++ renaissance Nokia in coordination with MS has just doomed whole C++ generation of programmers and their working code base with it's "secure" and "sandboxed" Windows Phone 7:/ I hope there will be a chance for "unmanaged" code sooner or later for WP7, .
See the report here: blogs.forum.nokia.com/.../letter-to-developers