ISO/ IEC JTC1/SC22/WG21 N3697

______end of cover page, beginning of document__________

Business Plan and Convener's Report
ISO/IEC JTC1/SC22/WG21 (C++)


Document:       ISO/IEC JTC1/SC22/WG21 N3697

Date:           2013-06-25

Period Covered: September 2012 - September 2013

Submitted By:   Convener, ISO/IEC JTC1/SC22/WG2l
                Herb Sutter
                Microsoft Corporation
                1 Microsoft Way
                Redmond WA 98052
                Email: hsutter@microsoft.com
                Tel: +1-425-707-6533


1. MANAGEMENT SUMMARY

1.1 JTC1/SC22/WG21 STATEMENT OF SCOPE

Development and maintenance of ISO/IEC Standards, Technical Specifications, and Technical Reports related to the programming language C++.

1.2. PROJECT REPORT

1.2.1. COMPLETED PROJECTS

JTC1.22.14882 - Programming Language C++ - This project was delivered by the publishing of ISO/IEC 14882:1998 (first standard), :2003 (minor revision), and :2011 (major revision).

JTC1.22.18015 Information Technology - Programming Languages Technical Report on C++ Performance (Technical Report Type 3)

JTC1.22.19768 Information Technology - Programming Languages Technical Report of Type 2 on C++ Library Extensions (based on ISO/IEC 14882)

JTC1.22.24733 Information Technology - Programming Languages Technical Report of Type 2 on Extensions for the programming language C++ to support decimal floating point arithmetic

JTC1.22.29124 Programming Language C++ - International Standard on Special Math Functions

1.2.2. PROJECTS UNDERWAY

JTC1.22.14882 - Work is in progress on the next revision, which is currently in combined NP + CD ballot and tentatively targeted for publication in 2014.

JTC1.22.18822: file system - Work is in progress on producing a PDTS draft for ballot in late 2013 and tentatively targeted for publication in 2014.

WG21 is currently ballotting NPs for two other Technical Specifications: a networking library, and template constraints language extensions.

1.2.3. CANCELLED PROJECTS

JTC1.22.24737, Technical Report on C++ Library Extensions (a.k.a. "Library TR #2")

1.2.4. COOPERATION and COMPETITION

Where appropriate, WG21 has established liaisons with other SC22 and SC22 liaison organizations' working groups. There is no direct competition with any other current SC22 working group. Related work is being done in SC22/WG14 (C) with broad WG21 liaison.


2. PERIOD REVIEW

2.1. MARKET REQUIREMENTS

ISO C++ remains a widely-used foundation technology, well-received in the marketplace.

Although C++ has long been a consistently popular language, since 2011 in particular it has enjoyed a renewed cycle of growth and investment in tools and platform support across the industry. This was driven primarily by the C++11 standard's completion at the same time as the industry saw a resurgence of interest in performance-efficient, hardware-efficient, and especially power-efficient systems programming capability for mobile devices, cloud data centers, high-performance financial systems, vector and GPGPU computing (via nonstandard extensions to C++ that we are now investigating standardizing), and other major growth sectors and environments.

This new cycle of industry investment in C++ includes, but is not limited to, investment in:

    (a) tools, such as the advent of a new major C++ implementation in the Clang compiler and other major new products actively competing to fully implement the latest ISO C++ standard;

    (b) organization, with the establishment of the Standard C++ Foundation trade association in 2012 (see isocpp.org/about);

    (c) standardization participation, so that at our most recent meeting WG21 attendance reached 107 experts organized into 16 active subgroups -- this includes 12 domain-specific subgroups (e.g., networking, transactional memory) that were established since 2012 and have drawn domain experts who did not previously participate in C++ standardization; and

    (d) faster and more predictable standardization output, for example that WG21 is on track to produce in 2014 a "C++14 wave" of one revised International Standard and three Technical Specifications (File System library, Networking library, and Concepts template constraints language extensions).

2.2. ACHIEVEMENTS

WG21 has developed a revision of JTC1.22.14882 that was published in 2011. WG21 next intends to continue work on Technical Specifications as well as a new revision of JTC1.22.14882.

JTC1.22.14882 - Programming Language C++ - International Standard is complete and was published in late 2011.

2.3. RESOURCES

WG21 has grown considerably over the past 18 months, which reflects the continued growth and investment in C++ across the industry as noted in 2.1.

WG21 meets two to three times per year in co-located technical sessions with the US committee J16. For most of the past decade, WG21 has timed its technical sessions to catenate with WG14, allowing those technical experts that would like to attend both technical sessions the opportunity to do so. (The convener of WG21 wishes to thank the convener of WG14 for his much-appreciated efforts at harmonious liaison. This catenation continues periodically, although no longer for every meeting.)

Eighteen countries participate by attending these meetings or by being involved in the technical discussions that take place over the reflector. The countries are: Austria, Canada, Denmark, Finland, France, Germany, Ireland, Islamic Republic of Iran, Japan, DPR of Korea, Netherlands, Norway, Russian Federation, Spain, Sweden, Switzerland, United Kingdom, and United States of America.  WG21 has been monitoring the cross-language standards activities, and made use of the ISO/IEC JTC1/SC22 guidelines on extended characters.

Liaisons:

  SC22/WG14 - C
    Steve Clamage (Oracle, USA)
    Michael Wong (IBM, USA)
    Clark Nelson (Intel, USA)
    P.J. Plauger (Dinkumware, USA)
    Tana Plauger (Dinkumware, USA)
    Tom Plum (Plum Hall, USA)

  SC22/WG23 - Vulnerabilities
    Tom Plum (Plum Hall, USA)


3. FOCUS NEXT WORK PERIOD

3.1. DELIVERABLES

WG21 is working on JTC1.22.18822 (TS File System) and a revision of JTC1.22.14882 (IS C++).

WG21 is also working on several other areas that may be progressed as separate TSes or as part of a future revision of JTC1.22.14882, starting with a TS for a networking library and a TS for template constraint concepts extensions.

WG21 will request NPs as needed once sufficient progress has been made on each item to determine its scope and intended vehicle/type.

3.2. STRATEGIES

WG21 members have been meeting in parallel subgroups and coordinating work between meetings via e-mail reflectors, teleconferences, and wiki. In addition to working on revisions to the central IS JTC1.22.14882, WG21 is also parallelizing its work products by taking greater advantage of Technical Specifications, both to progress independent work at its own speed and with less friction, and to enable more experimental work to progress outside the main standard until it is more mature while still providing a reference for commercial implementations; when ready, these TS's can then be adopted (in whole or in part, and with changes) into the ISO C++ standard.

As of this writing, WG21 has 12 active Study Groups focusing on progressing specific areas, and which meet between WG21 face-to-face meetings via telecon and/or their own face-to-face meetings. These domain-specific groups have directly led to increased participation by leading experts in those domains who had not previously participated in WG21. For a current list of Study Groups, see http://isocpp.org/std/the-committee.


3.3. RISKS

None.

3.4. OPPORTUNITIES

Nothing new to report.

3.5. WORK PROGRAM PRIORITIES

WG21 intends to continue working on new language and/or library extensions with a view to producing up to three TSes and a new JTC1.22.14882 IS in 2014, to be followed by other TSes and then another new JTC1.22.14882 IS in 2017.


4. OTHER ITEMS

4.1. POSSIBLE ACTION REQUESTS AT FORTHCOMING PLENARY

None.

4.2 PROJECT EDITORS

The following individuals have been appointed project editors and backups.

Currently active projects:

  JTC1.22.14882, Programming Language C++:
    Stefanus Du Toit (editor)
    Lawrence Crowl (backup)

  JTC1.22.18822: File System Library
    Beman Dawes (editor)
    Stefanus Du Toit (backup)

Complete projects:

  JTC1.22.14882:2011, Programming Language C++:
    Pete Becker (editor)
    Lawrence Crowl (backup)
    Tom Plum (former backup, until 2006)

  JTC1.22.24733, Technical Report on Extensions to Support Decimal Floating Point Arithmetic
    Robert Klarer (editor)
    Pete Becker (backup)

  JTC1.22.14882:1998 and :2003, Programming Language C++:
    Andrew Koenig (editor)
    Tom Plum (backup)

  JTC1.22.29124 Programming Language C++ - Special Math Functions
    Walter Brown (editor)
    Pete Becker (backup)

  JTC1.22.19768, Technical Report on C++ Library Extensions
    Matt Austern (editor)
    Pete Becker (backup)

  JTC1.22.18015, Technical Report on C++ Performance
    Lois Goldthwaite (editor)
    Detlef Vollmann (backup)
    Martin O'Riordan (former editor, until 2003)

Cancelled projects:

  JTC1.22.24737, Technical Report on C++ Library Extensions
    Matt Austern (editor)
    Pete Becker (backup)

4.3 ELECTRONIC DOCUMENT DISTRIBUTION

WG21 has conducted much of its detailed technical discussion using the email reflector provided by the UK Association for C and C++ Users (ACCU).

WG21 uses a secure wiki maintained by Edison Design Group. This secure wiki is used for quick exchange of documents during and between meetings.

WG21 also has an FTP and Web site at www.open-std.org/jtc1/sc22/wg21 provided by courtesy of Keld Simonsen, and at isocpp.org provided by courtesy of the Standard C++ Foundation. WG21 is now providing all the appropriate committee documents on these committee web sites, eliminating the need for paper mailings.


4.4 RECENT MEETINGS

See http://isocpp.org/std/meetings-and-participation/upcoming-meetings for a list of recent and future meetings.