This month, we enter the third decade of C++ at Microsoft.
It was twenty years ago, in February of 1992, that we released our first C++ compiler: Microsoft C/C++ 7.0. Before then, we already worked with several of the C++ “preprocessor” compilers that took C++ and converted it to C before our compiler then created the executable program. But starting in 1992, Microsoft’s premier native compiler supported C++ directly, and has done so ever since.
C/C++ 7.0 shipped in a box that was over two feet long and produced MS-DOS, Windows and OS/2 applications. It also sported the last of the character oriented development environments for C that we ever shipped – the following product was Visual C++, which built on what we had learned from delivering QuickC. Since those early days, we have shipped eleven major releases of C/C++ products (ignoring small point upgrades) for both Windows and embedded development.
This month, on the 20th anniversary of our first C++ compiler, we’re looking forward to shipping the beta of Visual C++ 11. It includes support for ARM processors, Windows 8 tablet apps, C++ AMP for heterogeneous parallel computing, automatic parallelization, and the complete ISO C++11 standard library… and a few more of the new C++11 language features too.
Last summer, we pledged to publish the C++ AMP specification as an open specification that any compiler vendor may implement, to target any operating system platform. Today, we published the C++ AMP open specification to support using C++ for heterogeneous parallel computing on GPUs and multicore/SSE today, with more to come in the future. Read the full announcement and download the specification at the Native Concurrency blog.
Finally, to make this anniversary celebration complete, we’re shifting gears to pick up speed: After Visual C++ 11 ships, you’ll see us deliver compiler and library features more frequently in shorter out-of-band release cycles than our historical 2- or 3-year timeframe. And, of course, the first and most important target of those more agile releases is to deliver more and more of the incredible value in the new ISO Standard C++11 language. Please check Herb Sutter's keynote at GoingNative 2012 for further details.
After 20 years, C++ is alive and well, and going stronger and faster than ever, not just at Microsoft but across our industry. Use it. Love it. And go native!
C99, who cared about C man? We are living in the future here. C++11 compliance is the only thing that matters.
"and the complete ISO C++11 standard library" - wait, how can you make money in your monoply if you comply ISO standards ? When did you start doing this ? Oh, probably after a federal judge ordered you to. my bad.
Congratulations on the excellent work which probably has supported billions of dollars commercial software development on this planet. Keep it going, we are looking forward to a new era of Visual C++ development support and environment for C++11!
That would be great as 2 ~3 years is a lot of time. BTW I have most of the VStudio boxes since VC++ 1.5 piled in my desk like the stones in the walls of Cuzco and OllantayTambo. Many of the new features available in the compiler today are a consequence of the advances in computer's hardware, such as CPU processor's speed and hard disk storage et.al. in the past. In the dawn of VC++, the existence of these features was impossible due to the limitations of the hardware and the operating system software. This also means that there is a higher level of responsibility from the team to release high quality software.
Please fix that long living bugs at least in VC++ 11! www.boost.org/.../value_init.htm