Note that the questions and answers were often tweaked for clarity, correctness and completeness. This is not a transcript. If you have follow up questions, lob them our way in the comments section.

Thanks!

How easy is it to migrate C++ assets to Visual Studio 2013?

We care about C++ standards and library support, making it easier to bring your C++ code into Visual Studio 2013. The IDE also helps with an option to create a project file from existing code.

If you are already able to create a .pdb file, an available PDBProject plug-in can create a Visual Studio 2013 project for you. It takes information contained in the .pdb to create a C++ project. For more information, see Creating a C++ Project from a PDB file: PDB Project.

Will there be a modern UI framework for the Windows Desktop?

This is an important topic and is actively being discussed among different teams at Microsoft. We don’t have more to share at this moment apart from the fact that we deeply care about enabling great desktop application development. Our current desktop UI framework for C++, MFC, will continue to be supported and MFC will be in the next release of Visual Studio, but we have no plans to majorly revamp it.

What about refactoring?

No C++ refactoring in the VS2013 RTM release. We do recognize the need for a good solution that makes developers more productive and works on real projects. So we’re starting to actively prototype some solution to have a discussion with our customers about the level of accuracy, scalability, etc. A prototype add-in tool for Visual Studio 2013, the Visual C++ Refactoring extension, is available now in the extension gallery, .

Any updates on SG13?

SG13 is the special working group developing a C++ 2D graphics API proposal. It just got started and there is a small meeting next week to discuss options and scope.

Is C++11 available for Windows CE?

The latest version of Windows CE shipped with complete support in Visual Studio 2012 (IDE, compilers, debugger, libs). It is more conformant, supporting lambdas, ranged-base for loops, scoped enumerations and more. For more information, check out Visual C++ in Visual Studio 2012.

Any additions for C++ unit testing?

No.

How can I use C++11 with older code bases?

One approach is to modify existing code to use C++11 features like shared_ptr or range-based for loops. Another approach is to use C++11 only in new code, avoiding the risk of breaking existing code.

Your old code will still work and will likely both compile and run faster with the latest version of Visual Studio. This is a goal we have for each release.

Is MASM included?

Yes.

Are there improvements to C++ AMP shared memory?

In Visual Studio 2013, we added support for “zero copy” scenarios. C++ AMP also got better debugger and profiler support so that you can examine operations being performed on the GPU. We added a bunch of features to enhance support for textures and side-by-side CPU/GPU debugging (mixed-mode debugging is available on Windows 8.1 for the WARP accelerator).

NuGet for C++?

Will there be generic lambdas in the next CTP?

This is the most requested feature in the C++14 standard and it is on the roadmap presented by Herb Sutter in his One C++ keynote at Going Native 2013 earlier this year.

Does Visual C++ use ASTs?

The VC++ compiler uses different technology internally. As we develop more C++11 features (e.g. constexpr), we’ve been significantly revamping the internal compiler technologies that we use, including adding ASTs. These ASTs are not exposed for 3rd party use at this time.

Tags

Join the conversation

Please keep in mind that developers out in the real world don't often get the luxury of only developing code for the latest operating systems and technology yet still want to use the latest tools. For instance our MFC based UI can't be rewritten if you decide to drop it in the future. We also suffered greatly when VS2012 dropped XP/2003 support and even with the Update 1 we still have to jump through hoops to get our binaries compatible (not marking exe/dll with proper OS version and subsystem version automatically). I'm stuck supporting 2003 for sometime. I would like to support it with the latest visual studio without jumping through any hoops big or small.

I nearly wet my pants when I read the "Will there be a modern UI framework for the Windows Desktop?" question and answer. We are definitely caught between a rock and a hard place with MFC and WPF. Bringing the tools that Metro developers have (XAML/C++/Direct2D/native code) to desktop developers would be amazing for those of us who haven't thrown in the towel on the desktop. Please don't leave out immediate mode graphics like WPF did. I'm looking forward to whatever may come of this.

"We're going to support [MFC], obviously. We're not going to say 'no more MFC for you, in the next release you won't have it'." (I may have misheard something in here, but I think that was the general gist).

Since there was no explicit mention of Unicode vs MBCS, is this a backing off from the last statement of "no more MBCS support for you, convert your 350+ projects to use Unicode, making sure to audit every single line of code and while you're doing this please don't give up and change to use C#"? Or is that "research" that MBCS isn't used still considered as solid as the "research" that XP isn't used was?

Talking about MFC, there is a long standing bug in CMFCRibbonSlider: if the ribbon is minimized, the slider simply does not work. Since the slider that appears in the ribbon when you extend it is a copy of the original, it seems like you forgot to copy the position value to the original and as a result, no matter how much you wiggle the lever, it simply doesn't work. None of the hacks proposed in the internet (not many by the way) work for me either. I hoped VS 2013 would fix this but it didn't.

Another thing, VS 2012 (for color scheme purposes) does not consider text after "//" to be comments, since it displays it with the same color as "Plain Text", you can only change the color of one-line comments by changing the color of "Plain Text" in Tools->Options->Environment->Fonts and Colors. That's so blatant a bug I don't know why nobody has reported it yet… or maybe I am looking in the wrong place?

Heck, I'm a fan of C# as a language. But looking back, I often feel that too many sacrifices were made in order to make managed code "more productive". I would love to see the power and performance of C++ married to a modern UI framework such as WPF/XAML. Ideally, MS would develop a native XAML renderer that can co-exist peacefully with MFC so its (vast) user base can move their applications forward without porting them to .NET, allowing us to retain the performance and tight resource management that we value.

The Microsoft efforts (C++ Renaissance, and Going Native)is very commendable.

As a senior C# developer, who have worked with a lot of different languages, but C++, I felt moved and started developing modern C++ programs. As my clients are multinational corporations, none of them have Windows 8 installed in significant number yet. So all my development targets Windows 7 64 – so no tablets, just desktops (MFC).

It was all going very well: the exe file is very small, it performs very well, and the development is relatively simple, mainly thanks to STL.

Unfortunately, the big hurdle I am facing now is how to access SQL Server 2012 and execute a very basic and simple operation:

1) Connect to a database.

2) Execute an Stored Procedure with parameters.

3) Get the result set back.

I have been browsing the Internet for several days and could not find a simple sample on how to do this mundane and extremely common task.

I concluded that the currently recommended technology is SQL Native Client using ODBC. But that is it. I browsed all the blogs, online documentation, MSDN sites, community sites, SQL sites, etc. that I could locate, to no avail so far. And I am used to find what I am looking for in one or, sometimes, two searches!

How does Microsoft expects us C# developers turn into modern C++ developers when the most basic data access sample is not readily available, even to Microsoft own SQL Server!

We, developers, learn quite quickly from well commented sample code. In the MSDN SQL sites there are documentation for all methods in the ODBC driver, but very few and incomplete samples. Nothing as simple as I am looking for. This is the base for learning: samples.

Yes, another HUGE vote for C++ and XAML for the desktop. I'm a C# developer wanting to go BACK to C++ Windows development. Something I've not done in years. It was a bit surprising to see that C++ Windows work is so dated feeling.