recently learned about Erik Meijer's latest innovation, Rx
, here on Channel 9. Clearly, judging by the views and comments on that post, it piqued your interest and curiosity. Wes Dyer, a rock star developer on Erik's team of rock stars, implemented a great
deal of Rx and helped to design it along with Erik. Visual Studio 2010 will ship with with two new types, IObserver and IObservable
. Rock star developer Kim Hamiliton (you've
met her on C9
) implemented these two types in the BCL and worked closely with Erik and Wes to insure that Rx in the BCL is designed and implemented to meet the strict requirements for new types in .NET's robust general purpose library. As you've learned
previously, IObservable is the mathematical dual of IEnumerable. We of course talk about this here, but from the developer perspective. You've already learned about the math and continuation monad behind this with Erik and Brian Beckman.
Here, Kim and Wes dig into the implementation of IObservable and IObserver in the 2010 version of the BCL. How did Erik and team work with the BCL folks? What were the design decisions that led to the final implementation of the two Rx types in the BCL? What
do these two new types enable for .NET developers? This is a great example of how innovation comes to market: incubation teams come up with a brilliant idea, refine it by working with multiple teams and some researchers in MSR, pass it along to a product group,
they go back and forth on implementation details and design requirements and finally the new stuff is added to the shipping code base. Great stuff!!
Make sure to watch this all the way through. You never know what kind of magic can happen if you know how to summon a wizard.