At the beginning of this year, Microsoft announced a “C++ renaissance”. Quoting from the description of a Channel 9 video with Craig Symonds and Mohsen Agsen:

C++ is currently undergoing a renaissance. This means that, by definition, the language, compilers and compositional tooling are evolving and coalescing into a state that maximizes native developer efficiency, productivity, and creativity across hardware and software domains.

Everybody agrees that Microsoft made C++ a sort of second class citizen in the past years, while the company invested a lot in the .NET framework. Many developers have switched from native development to managed (.NET) simply because it offers a more productive environment. And the postponing of the ISO standard committee in releasing the new C++0x standard only made things worse.

However, with the completion of the new C++ standard this year, Microsoft, apparently, plans to change that, and make C++ again appealing to developers. They already made C++0x features available in the VS2010 C++ compiler and are working on implementing most of the rest for Visual Studio vNext. They are also investing in tools (now labeled Application Lifecycle Management), and for instance are bringing intellisence to C++/CLI. One of the most important areas of development is parallelism, where they are developing the PPL and Agents libraries and now the C++ AMP that they just announced. And also recently the Kinect for Windows SDK beta that provides Kinect capabilities to developers who build applications with C++ (and other laguanges). And in the mean time they hired Erich Gamma in the Visual Studio team.

But this is not enough in my opinion. Improvements in language and tools are an important part, but not everything. It is equally necessary for Microsoft to evangelize it, using any necessary means. Unless they can spread the word, the work might pass unnoticed. To be honest, I was very reluctant about this part, half an year ago, when they announced the “renaissance”. However, looking back at what they done I’d say they are on the right track. Of course, there is still a lot of work to match the “advertising” effort put into .NET. But right now C++ is getting more attention at conferences such as PDC or TechEd, or their publishing assets, such as Channel 9, MSDN or their team blogs. So I tried to assemble a collection of videos, blogs, books and code samples related to C++ or native development that they published since the announcement of the renaissance. So far it looks good, in my opinion.

Channel 9

E2E: Herb Sutter and Erik Meijer – Perspectives on C++

Craig Symonds and Mohsen Agsen: C++ Renaissance

Windows 7 Taskbar Integration for MFC Applications

Tony Goodhew: VC++ Developer Communication – Questions and Answers

Talkin’ C++ with Kate Gregory

MVP Summit 2011: Meet C++ MVPs Angel, PJ, Tom and Sheng

Talkin’ C++ with Alon, Marius, Bruno, and Jim

Talkin’ C++ with Boris Jabes: C++ Intellisense, Game Development, and Boris Faces His Demons

Application Restart and Recovery on Windows 7 in Native Code

Parallel Programming for C++ Developers: Tasks and Continuations, Part 1 of 2

Parallel Programming for C++ Developers: Tasks and Continuations, Part 2 of 2

Conversation with Herb Sutter: Perspectives on Modern C++(0x/11)

First Look: New ALM Tools for VC++ Developers

Modern Native C++ Development for Maximum Productivity

Mohsen Agsen – C++ Today and Tomorrow

Herb Sutter: C++ Questions and Answers

Herb Sutter – Heterogeneous Computing and C++ AMP

Daniel Moth: Blazing-fast code using GPUs and more, with C++ AMP

C9 Lectures: Stephan T Lavavej – Advanced STL, 1 of n

C9 Lectures: Stephan T Lavavej – Advanced STL, 2 of n

C9 Lectures: Stephan T Lavavej – Advanced STL, 3 of n

C9 Lectures: Stephan T Lavavej – Advanced STL, 4 of n

C9 Lectures: Stephan T Lavavej – Advanced STL, 5 of n

Visual C++ Team Blog

Grr… My VC++ Project Is Building Slower in VS2010. What Do I Do Now? (A Step by Step Guide)

C++/CLI IntelliSense in Visual Studio vNext

Exception Boundaries: Working With Multiple Error Handling Mechanisms

Troubleshooting Tips for IntelliSense Slowness

Build Related Improvement in VS2010 SP1

Converting An MFC Ribbon To Designer Format

Enforcing Correct Concurrent Access of Class Data

Parallel Programming in Native Code Blog

Sorting in PPL

How to pick your parallel sort?

The Concurrency Runtime and Visual C++ 2010: Lambda Expressions

The Concurrency Runtime and Visual C++ 2010: Automatic Type Deduction

The Concurrency Runtime and Visual C++ 2010: The decltype Type Specifier

The Concurrency Runtime and Visual C++ 2010: Rvalue References

The Concurrency Runtime and Visual C++ 2010: Transporting Exceptions between Threads

Building Responsive GUI Applications with PPL Tasks

MSDN Magazine

Writing a Debugging Tools for Windows Extension

Writing a Debugging Tools for Windows Extension, Part 2: Output

Writing a Debugging Tools for Windows Extension, Part 3: Clients and Callbacks

Agile C++ Development and Testing with Visual Studio and TFS

Books & Publications

Parallel Programming with Microsoft Visual C++

The Visual C++ Weekly

Code & Samples

Code samples for the Concurrency Runtime and Parallel Pattern Library in Visual Studio 2010

Bing Maps Trip Optimizer

Hilo: Developing C++ Applications for Windows 7

All-in-One Code Framework

Share this: Facebook

Twitter

Print

More

Email

Reddit



