Sunday, 29 December 2013

Reactive Programming manifesto

A few months ago I apparently managed rile up people on Twitter with some comments I made about the "Reactive Manifesto". I don't really know why because, as I explicitly tweeted, I am all for reactive programming and I think it is the cat's whiskers.

What greatly irritated me, and it still irritates me, is that claim that this is something new:
"But now a new architecture has evolved to let developers conceptualize and build applications that satisfy today's demands. We call these Reactive Applications."
This is pure BS. Reactive programming has been around as long as computers have been controlling hardware, which is quite a while. The "today's demands" are the same as they have always been. None of the concepts discussed in the manifesto, responsive, event-drive, scalable and resilient, are new or novel.

For example we, the Erlang community, have been doing reactive programming for around 25 years, and FRP (Functional Reactive Programming) at that. And I am not claiming we were the first to do FRP, but we did invent it on our own. In fact before that were doing LRP (Logical Reactive Programming), and we weren't first with that either. All the concepts mentioned in the manifesto, are commonplace to us, and, again, I am not claiming we were the first.

So while I am definitely a fan of reactive programming I will not sign the manifesto until becomes more honest about the origins of the concept.

A cause for reflection is that apparently a large portion of the (web)programming community believes that this is new and novel.

Who have I not managed to rile up now?

EDIT: I understand very well that writing:
"But there is an old, well tried and tested architecture which lets developers conceptualize and build applications that satisfy today's demands."
is not going to attract any hipster wannabes. And I also understand that advertising puts a lost of effort into reselling old ideas, but writing things like this makes this manifesto seem more like advertising. At least to me.

Strangely enough there is an improvement to this on the github page which declares some of these ideas at least as "long-known" but that never made it into the actual manifesto.


P.S. On reflection there is one thing which I understand people could get riled up about: my travesties of Monty Python, "I didn't expect the Manifesto! NOBODY expects the Manifesto!", and Long John Baldry, "Don't try to lay no manifesto on the king of reactive programming".

1 comment: