New paper: N3721, Improvements to std::future and Related APIs -- Gustafsson Laksberg Sutter Mithani
A new WG21 paper is available. A copy is linked below, and the paper will also appear in the next normal WG21 mailing. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.
Document number: N3721
Date: 2013-08-30
Improvements to std::future
and Related APIs by Niklas Gustafsson, Artur Laksberg, Herb Sutter, Sana Mithani
Excerpt:
This proposal is an evolution of the functionality of
std::future/std::shared_future. It details additions which can enable wait free compositions of asynchronous operations.This document supersedes N3634: the title has been changed, and the proposed changes have been modified to be expressed as edits to the C++ Draft Standard.
New in this version: implicit unwrapping (one level) of
future<future<R>>tofuture<R>inthen().... C++ suffers an evident deficit of asynchronous operations compared to other languages, thereby hindering programmer productivity. JavaScript on Windows 8 has promises (
then,joinandany), .NET has the Task Parallel Library (ContinueWith,WhenAll,WhenAny), C#/VB has theawaitkeyword (asynchronous continuations), and F# has asynchronous workflows. When compared to these languages, C++ is less productive for writing I/O-intensive applications and system software. In particular writing highly scalable services becomes significantly more difficult. ...

I've been looking at the BlackBerry 10 NDK the last weeks, and did write about it to share some thoughts and results.