In today's long-awaited episode (bahaha), returning GoingNative guest Gor Nishanov talks about how you can take advantage of await/co-routines to do your own asynchronous programming (and more!) with speed and ease!
[00:50] - Meet Gor (again =P)
[01:39] - What's the dealio with this coroutine/await business?
[02:15] - Transforming code to asynchronous code - lightweight and easy
[03:44] - The same asynchronous code written with futures (yuck)
[04:39] - What kind of code is await replacing?
[05:19] - What makes C++ coroutines unique: Design Goals
[07:48] - Co-routines are open-ended!
[08:50] - Using await with raw OS APIs
[10:24] - Go-routines
[11:22] - Performance - how much are we really saving (over a state-machine)?
[14:41] - Other things you can do with await
[15:56] - Application to Same-Fringe Problem
[19:04] - Writing exception-free exceptions with await
[20:32] - Go download RC and try it out! (add the /await switch to the compiler command line)
[21:29] - Have your own ideas for how to use await? Email Gor at g o r n [no spaces] at microsoft dot com
Limitations to note:
/ZI [edit and continue debugging] is not supported yet (but /Zi is fine)
/sdl /RTCs [various stack-checking flags] are not supported yet
Only amd64 is supported for await in VS2015 Preview and RC (click to download!). RTM will include arm and x86!