I've read about the basic idea of reactive programming as having variables that change over time based on their source value expression. I've even implemented this using Expressions. But then I look at Microsoft's Reactive Extensions (Rx) and see something totally different. Where are the variables that self-update over time? There are none to be seen. Just some fancy way of enumerating through event arguments.
So my question is: how "reactive" is Rx really? Is the functionality that we're seeing there now a precursor to what's to come? Or is Microsoft carelessly throwing around a buzz word? Or am I just totally missing the point (in which case I'd like you to explain how)?
EDIT: I got some great answers already with descriptions of Rx, in addition the question being closed. :( But I'm still hoping to hear more along the lines of:
- In what sense is Rx "reactive"? I thought that self-updating variables were central to the idea but Rx doesn't supply these. LINQ-to-Events seems like a better name for Rx. I'm starting to think that maybe Microsoft misused the word "reactive" in applying it to Rx.
- In what way might the current Rx functionality be a precursor to self-updating variables? I've implemented such functionality and did not notice anything useful from Rx for this purpose.