Yesterday, many thousands of you were in the room or live online for my talk on The Future of C++. The talk is now available online.
This has been a phenomenal year for C++, since C++11’s publication just 12 months ago. And yesterday was a great day for C++.
Yesterday I had the privilege of announcing much of what Microsoft and the industry have been working on over the past year.
(minor) C++ at Microsoft
On September 12, we shipped VC++ 2012 with the complete C++11 standard library, and adding support for C++11 range-for, enum class, override and final. Less than two months later, yesterday we announced and shipped the November 2012 CTP, a compiler add-in to VC++ 2012 adding C++11 variadic templates, uniform initialization and initializer_lists, delegating constructors, function template default arguments, explicit conversion operators, and raw string literals. Details here, and download here.
Note that this is just the first batch of additional C++11 features. Expect further announcements and deliveries in the first half of 2013.
(major) C++ across the industry
Interest and investment in C++ continues to accelerate across the software world.
- ISO C++ standardization is accelerating. Major companies are dedicating more people and resources to C++ standardization than they have in years. Over the next 24 months, we plan to ship three Technical Specifications and a new C++ International Standard.
- C++ now has a home on the web at isocpp.org. Launched yesterday, it both aggregates the best C++ content and hosts new content itself, including Bjarne Stroustrup’s new Tour of C++ and Scott Meyers’ new Universal References article.
- We now have a Standard C++ Foundation. Announced yesterday, it is already funded by the largest companies in the industry down to startups, financial institutions to universities, book publishers to other consortia, with more members joining weekly. For the first time in C++’s history since AT&T relinquished control of the language, we have an entity – a trade organization – that exists exclusively to promote Standard C++ on all compilers and platforms, and companies are funding it because the world runs on C++, and investing in Standard C++ is good business.
This is an exciting time to be part of our industry, on any OS and using any language. It’s especially an exciting time to be involved with C++ on all compilers and platforms.
Thank you all, whatever platform and language you use, for being part of it.
A few hours ago I sat down to give a short teaser for my webcast talk this Friday.
Here it is. Feel free to forward.
(I don’t think they believed me when I said I could keep it to under two minutes.)
In my talk on Friday, there will be announcements of broad interest to C++ developers on all compilers and platforms. Please help spread the word.
Friday, November 2, 2012
12:45pm (U.S. Pacific Time)
This talk will give an update on recent progress and near-future directions for C++, both at Microsoft and across the industry, with some announcements of interest in both areas. The speaker is the lead language architect of Visual C++ and chair of the ISO C++ committee.
The talk will be webcast live on Channel 9, and available soon afterwards on demand.
If you know people who are interested in C++, on any platform, you’ll want to let them know to tune in.
The three by-far-most-requested “missing features” from Visual C++ 2012 were:
- Conformance: Keep adding more C++11 language conformance features.
- XP Targeting: Deliver the ability to build applications that could run on Windows XP, as well as Windows Vista, 7, and 8.
- Desktop Express: Deliver a free VC++ Express compiler that can be used to create traditional Windows desktop apps, not just Windows Store apps.
Over the spring and summer, we promised to address these “soon after VC++ 2012 ships.”
Well, VC++ 2012 shipped four weeks ago.
What’s happened since then?
3. On the same day VS2012 shipped, four weeks ago, we also announced and released Visual Studio 2012 Desktop Express – a free Visual Studio version for writing traditional Windows applications.
2. Today, we are pleased to share a “community tech preview” (CTP) of Windows XP targeting in Visual C++ 2012, being delivered as part of Visual Studio 2012 Update 1 CTP 3. You can download the preview here. See the announcement page for details, known issues, and full release information.
1. Stay tuned…
I’ve blogged about Casablanca before. Here’s a related talk from TechEd Australia:
Casablanca is a Microsoft incubation effort to support cloud-based client-server communication in native code using a modern asynchronous C++ API design. Think of it as Node.js, but using C++ – from simple services, to JSON and REST, to Azure storage and deployment, and more.
Casablanca gives you the power to use existing native C++ libraries and code to do awesome things on the cloud server. In this talk from TechEd Australia, John Azariah and Mahesh Krishnan show how it’s done.
Today Microsoft released another free Express version of Visual C++ 2012. In addition to the free Express Visual C++ compiler for building tablet applications, Visual Studio Express 2012 for Windows Desktop directly supports traditional Windows and command-line applications in C++.
This a great free C++ compiler on Windows for everything from hobby development to using and contributing to open source projects. Besides additional C++11 standards conformance with range-for, override and final on the language side (with more to come in the coming months; watch this space) and a complete C++11 standard library implementation, the free compiler also includes unit testing framework for C++, code analysis for C++ (try /analyze today if you haven’t already, as John Carmack says so well), C++ AMP for GPGPU programming, and much more.
See also the longer announcement here.
The Visual C++ team is looking for a number of people to do great work on C++11, parallelizing/vectorizing, cloud, libraries, and more. All I can say is that there’s a lot of cool stuff in the pipeline that directly addresses real needs, including things people regularly comment about on this blog that I can’t answer specifically yet but will soon.
If you might like to be part of it, here’s how – 13 positions right now and more to come as we update this list:
Be What’s Next (We’re hiring!)
The C++ organization is growing and hiring across all feature areas (C++ 11, compiler front-end, compiler back-end, C++ AMP, PPL, libraries & runtime, IDE, Casablanca). We are looking for passionate program managers, developers and testers to bang out the next versions of the toolset!
What’s in it for you:
Be part of the C++ standards evolution – you’ll have the opportunity to work side-by-side with folks like Herb Sutter
Solve exciting challenges as we navigate the hardware evolution (newer chipsets, multi-core, GPU, heterogeneous cores etc.)
Be part of the technology that builds all of Microsoft’s platforms like Windows, Xbox, Windows Phone and Windows Embedded.
Please apply directly using the links below. We’ll keep this list updated for the next couple of months.
Current job list is available on that page.