
Photo
Channel9The presentation of the coat of arms of Sutter at the BUILD conference in Redmond has just ended on Channel 9. Who is interested in the outline of his speech with the latest news about Visual C ++ and C ++ 11 as a whole - please under the cat.
')
The presentation begins with memories, as 9 months ago, Going Native was held at the same place. 20 thousand people watched it live on the Internet, and another 600,000 looked at the record. The emblem then talks about the key role of C ++ in software development at Microsoft, and that their goal is to make C ++, C # and JavaScript equal languages ​​for developing for WinRT. Visual C ++ 2012 was recently released with support for the ARM architecture, C ++ AMP, the full C ++ 11 standard library, etc. - on Habré already wrote about it. And literally just added support for Windows Phone 8.
Since then, the top 3 requests for Visual C ++ looked like this:
- Full C ++ 11 support.
- Windows XP support.
- Free Visual C ++ Express for desktop.
Pleas were heard: the third issue was resolved in September, in October, CTP was released with Windows XP support, and Microsoft will release new versions of Visual C ++ as often as possible (out-of-band releases), gradually adding missing aspects of C ++ 11. The first such release is available right now:
aka.ms/vc-ctp . This is only the CTP compiler, without debugger, standard library, etc., so do not be surprised, for example, with red underscores when trying to use new features, namely:
- explicit conversion operators
- raw string literals R "()"
- function template default arguments
- delegating constructors
- uniform initialization (initializer_list)
- variadic templates ( finally! )
Details from Stephan Lavavej here:
aka.ms/vc-ctp-tourNew versions of the compiler are expected in the first half of 2013.
On this part, dedicated to Visual C ++, ended, and the Coat of Arms passed to the process of standardization of C ++.
At the March 2011 meeting of the Committee, when final decisions were made on the new Standard, a record number of people arrived - 60. And although after the publication of C ++ 11, one could expect some decline in activity, in fact it is only growing. More and more new faces appear on the committee. If earlier Microsoft, Google, Intel usually sent two representatives each, now there are five or six.
Previously, the WG21 Committee had three groups: Core, Evolution, and Library. Such a structure, as it turned out, does not scale well, so Study Groups were added, of which there are already ten at the moment:
SG1, Concurrency : Hans Boehm (HP). Everything related to concurrency.
SG2, Modules : Doug Gregor (Apple). Work on the possible improvement or replacement of the compilation process based on header files.
SG3, File System : Beman Dawes. Work based on Boost.Filesystem v3.
SG4, Networking : Kyle Kloepper (Riverbed). Everything connected to the network, sockets and HTTP.
SG5, Transactional Memory : Michael Wong (IBM). An investigation of the possibilities of transactional memory for potential additions to the language.
SG6, Numerics : Lawrence Crowl (Google). Calculations with a fixed point, a floating point, etc.
SG7, Reflection : Chandler Carruth (Google). Reflection at compile time.
SG8, Concepts : Matt Austern (Google). Immediate perspective of merging static if with part of concepts dedicated to the constraints of template parameters.
SG9, Ranges : Marshall Clow (Qualcomm). Using ranges instead of pairs of iterators in the standard library, incl. in containers and algorithms.
SG10, Feature Test : Clark Nelson (Intel). Development of tests for compilers, checking the support of certain new features of C ++, which we continue to add.
SG11 is in the process of being formed and will be devoted to databases.
Thanks to this division, each group, for example, has its own independent schedule of meetings. At the same time, they are all absolutely “legitimate” and are part of the Committee. These groups were formed for a reason, but due to a certain critical mass of people and interests. They employ recognized experts in relevant fields who have never before had a relationship with the Committee.
Then the Coat of Arms went to the work schedule for the future:
- The next major release of the Standard is expected in 2017. Therefore, all technical work must be completed in 2016.
- In 2014, expect a minor publication of the Standard (minor release) with corrections and small features, such as polymorphic lambdas, reader-writer locks, etc.
- In addition, each Study Group can publish its TS (technical specification) independently. Filesystem should be out in a year. Network SG will release its updates every year (TS1 in 2013, TS2 in 2014, TS3 in 2015). Transactional memory may appear as early as 2014.
In addition, the site
isocpp.org (Twitter
@isocpp ) is
launched , which should become the number 1 site for news about C ++, its standardization and all related information, a kind of "center of gravity". In particular, for the first time you have a step
by step
guide on how to submit your application to the Committee. The standardization process will be as public as possible thanks to open
mailing lists .
On Habré, there was already an
article about the fourth edition of The C ++ Programming Language. This book, among other things, contains 4 chapters on the style of modern C ++, which will be posted free of charge on the site in turn.
Finally, to improve business conditions for C ++ and promote its understanding and use on all platforms, the Standard C ++ Foundation was founded - a non-profit organization with a large number of
sponsors , who, however, do not have voting rights there.
At this hour the presentation ended and began the question and answer session. The most important moments from there:
- With the release of Windows Phone 8 SDK, C ++ is now supported on all mobile platforms.
- .then (as part of the library) has already been proposed, they work together with Google (executor) and Intel, since they already have similar designs. The next step would be to add await to the language itself, exactly the same as in C #.
- In the area of ​​concurrency, work is being done so far only at the level of multicore and vectorization. It’s too early to talk about the standardization of GPGPU computing due to too frequent changes in hardware. But many C ++ AMP developments are not GPGPU specific and can be used at other levels.
- Does Microsoft strive for 100% compliance with the new Standard? Yes. And as soon as possible.
- Constexpr want to expand to allow more than one statement to be written there.
- In the Standard, they work on supporting messages between threads.
- What is the future of MFC? MIcrosoft continues to release updates for it and provides everything you need to integrate with new developments, such as XAML.
- The teams working on Windows 8 are already taking full advantage of the capabilities of the new Standard.
- What is the future of C ++ / CLI? C ++ / CX is actually the reincarnation of C ++ / CLI, a lot has been taken from there. But if C ++ / CLI was supposed to be used solely for the purposes of interacting with .NET, then C ++ / CX is not limited to this area.
- The emblem is already working on an application to the committee dedicated to the garbage collector.
PS Who watched this broadcast - please tell me if I missed something significant.