Martyn Lovell: The Windows Runtime

Asynchronous programming is what the doctor usually orders for unresponsive client apps and for services with thread-scaling issues. This usually means a bleak departure from the imperative programming constructs we know and love into a spaghetti hell of callbacks and signups. C# and VB are putting an end to that, reinstating all your tried-and-true control structures on top of a future-based model of asynchrony.
I'm glad to see so many questions about async\await. Hopefully a similar pattern will show up in other languages... hint, hint, C++ Keep up the amazing work!!!
And it even works on the latest mono
http://blog.bekijkhet.com/net-4-5-new-async-library-on-visual-studio-11-beta-and-latest-mono/
Is the source code for that sample app available anywhere?
@AceHack: it is possible to wait for the result of an asynchronous operation in C++ using PPL tasks.
It may need conversion from IAsyncOperation<> to a Concurrency::task<> and then you can use Concurrency::task<>::get() to comfortably achieve the same thing as await.
auto classificationOp = runClassification(result->docText, result->lang); task<Platform::String^>classificationTask(classificationOp); Platform::String^ classification = classificationTask.get();
@milgner I think this would be a blocking wait and it think it will only work in Metro style apps. I was really hoping for a await language feature in C++ that would do the auto continuation (state machine) kind of thing like C# (Non Blocking). Herb mentioned having this language feature possibly in the future with his talk here http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012/-Not-Your-Father-s-C-
It took a while for that video to go up so I was completely unaware that Herb was already thinking about await as a C++ language extension or I would not have mentioned it again. Thanks all language guys at Lang.Next, I've been very impressed.