© 2018 Strange Loop
Modern applications are highly connected applications, often consuming several asynchronous or stream-based services. This makes users happy, but can easily lead to code that is a nightmare to develop and maintain. Enter Reactive Extensions, also known as Rx. Rx can help tame callback hell and can abstract away the notion of time, turning asynchronous requests into observable sequences. Just as we can query normal sequences such as collections, these observable sequences can be composed through either standard query operators (e.g., filter, project, aggregate) or even temporal ones (e.g., “sample a noisy event stream at 100ms intervals”).
Donna Malayeri is a developer on the Rx team at Microsoft and was previously the program manager of the F# team at Microsoft. She has also worked on the Scala team at EPFL on projects such as the Scala Eclipse plugin and scaladoc. In a past life, she lived in an ivory tower and earned a PhD in programming languages from Carnegie Mellon University. In her copious spare time, she sometimes writes provocative and controversial—yet award-winning — papers for CMU’s prestigious SIGBOVIK conference, the de-facto premiere forum for all work in its (somewhat diverse) areas of focus.