According to Wikipedia, “Abstraction is the process or result of generalization by reducing the information content of a concept or an observable phenomenon, typically in order to retain only information which is relevant for a particular purpose.” Unfortunately, in the past 50 years or so of Computer Science, we have abstracted from the wrong details. In particular, the mainstream interactive, imperative sequential computational model takes a deep dependency on strict evaluation order, exemplified by the evil semicolon “;”, thereby ignoring latency and to a large extent the possibility of failure (which can be considered as a form of latency).
Now that effectively all computation has become reactive distributed and concurrent, the traditional sequential imperative programming abstraction has run out of steam as a model for the top-level composition of programs and seriously hampers future progress in our field.
Not all hope is lost however. It turns out that the familiar archetypal IEnumerable/IEnumerator design pattern for interactive computation is dual to the even familiar archetypal IObservable/IObserver design pattern for reactive programming.
As a consequence of this formal duality, it becomes possible to use exactly the same familiar programming models, declarative LINQ query comprehensions and imperative iterators and foreach loops, for reactive programming as we have been using in the past for interactive programming.
Erik Meijer is an accomplished programming-language designer who has worked on a wide range of languages, including Haskell, Mondrian, X#, Cω, C#, and Visual Basic. He runs the Cloud Languages Team in the Business Platform Division at Microsoft, where his primary focus has been to remove the impedance mismatch between databases and programming languages in the context of the Cloud. One of the fruits of these efforts is LINQ, which not only adds a native querying syntax to .NET languages, such as C# and Visual Basic, but also allows developers to query data sources other than tables, such as objects or XML. Most recently, Erik has been working on “Democratizing the Cloud” and preaching the virtues of fundamentalist functional programming in the new age of concurrency and many-core. Some people might recognize him from his brief stint as the “Head in the Box” on Microsoft VBTV. These days, you can regularly watch Erik’s interviews on the “Expert-to-Expert” and “Going Deep” series on Channel 9.
For information on exhibition and sponsorship opportunities at the conference, contact Sharon Cordesse at firstname.lastname@example.org
Download the OSCON Sponsor/Exhibitor Prospectus
For media-related inquiries, contact Maureen Jennings at email@example.com
To stay abreast of conference news and to receive email notification when registration opens, please sign up for the OSCON newsletter (login required)
View a complete list of OSCON contacts