Deprecating the Observer Pattern
Feb. 23rd, 2011 03:39 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Folks who want to stretch their brains with some cutting-edge programming thought may be interested in this paper:
http://lamp.epfl.ch/~imaier/pub/DeprecatingObserversTR2010.pdf
It’s by some high-level Scala language geeks (including Martin Odersky, the main driving force behind the Scala language), and provides some fascinating arguments about the nigh-ubiquitous Observer programming pattern. It argues that Observer, while somewhat convenient (especially in C#, where it is baked into the language), is pretty broken conceptually in a variety of ways. Through extensive refactoring, they show a wildly different approach to event management, that wraps events up into higher-level, composable pieces.
Very neat stuff, and a bracing reminder of the modern programming techniques that are starting to come in. This stuff is much more powerful than Observer, and I suspect much safer in lots of respects, but it is sufficiently *different* that it requires playing Silly-Putty with my brain to wrap my head around it...
http://lamp.epfl.ch/~imaier/pub/DeprecatingObserversTR2010.pdf
It’s by some high-level Scala language geeks (including Martin Odersky, the main driving force behind the Scala language), and provides some fascinating arguments about the nigh-ubiquitous Observer programming pattern. It argues that Observer, while somewhat convenient (especially in C#, where it is baked into the language), is pretty broken conceptually in a variety of ways. Through extensive refactoring, they show a wildly different approach to event management, that wraps events up into higher-level, composable pieces.
Very neat stuff, and a bracing reminder of the modern programming techniques that are starting to come in. This stuff is much more powerful than Observer, and I suspect much safer in lots of respects, but it is sufficiently *different* that it requires playing Silly-Putty with my brain to wrap my head around it...