Description

Lucian Wischik is an engineer who spends a great deal of his time making Async magic happen in the C# and VB compilers. With the recent release of Visual Studio Async CTP SP1 Refresh, come several low-level improvements in how asynchrony is orchestrated by the compiler infrastructure. Many bug fixes and improvements in the core Async technology have been orchestrated by Lucian. What's new at the compiler level? What are the improvements and how do they manifest themselves to programmers? As you learned from Stephen Toub, making your own awaitable types is easier in this release. In this episode of Going Deep, Lucian drills down even deeper to show you exactly why, and covers a lot of ground. So pay attention! Tune in. Enjoy.

PS: One of these days, I will pronounce Lucian's last name correctly. I promise.

@AdamSpeight2008: Though you can certainly remove my name from that list!!! I just talk about programming these days.... I used to be a competent programmer, but the days of Charles cranking code seem to be mostly over (well, who knows what the future holds....). Funny that my name would appear in a list like yours! Charles, Dijkstra, Meijer, Lucian!!! LOL.

Async integrated into PLINQ sounds like it would be pretty fun to implement and overly powerful in use

Lucien also does pretty well at being able to speak to "us" through you+camera with you as a catalyst with questions.

Anders/Mads arent so fun to talk to recently since they are only about high level features, or a sneek peak into what is in the works which is ok but not my cup of tea, unless they gave funny corner-case code samples on the whiteboard. So personally I love the nitty-gritty details of this sort from who implemented and designed the compiler code rewriting/restructuring techniques just before code generation.

Just FYI, I've tried three times now to download and play this content through the Zune desktop software. Each time I try to play it, it gets about 20 seconds in and then drops out with an error message about the file being "corrupt or not valid".

I'm currently downloading the WMV version directly from the site, which I assume will work.

Note: we're not planning to ship IAsyncEnumerable<T>. But you could easily write it yourself. It would involve the signature "async Task<bool> MoveNextAsync() {...}". Also we're not planning on "async linq". I wrote this example just as a strawman.

Anyway, this example is a bad use of async! Look what it would translate into:

I have some small CS bacground, so I know that this stuff is extremely hard but still it is strange that MS didn't catch the finally bug in internal testing. I mean it is huge. And return; bug -ouch I think that like 30+% of the CS students would catch that.