“Bus” for Bus
Thursday, March 18th, 2010I am a bit grumpy right now, so please bear with my ranting…
Do you know what the “Bus” in DBus stands for? It stands for “Bus”. And did you know that the DBus specification defines a “Message Bus”? So it’s a bus on which you can do message passing. But why is it that we try to hide this away trying to fool developers into believing that it’s really an RPC system? – It’s not! Let me put in in italics for you: DBus is a message passing system.
DBus is a wicked cool, relatively easy to use, message bus with all kinds of fancy name-, life cycle-, message matching-, and what-not management. Not an RPC system from the eighties! You can use it as such – with great success I might add, but it’s much more than that.
We as the Gnome community are leaving the olde Corba/Bonobo days behind us. Let’s not blindly choose the next hot RPC system and pretend it’s any better. Let’s embrace the new world order. The massive success of the HTTP protocol, increasing momentum of functional (and/or functional+object oriented) platforms such as Erlang, Scala, Haskell and F#, and the ever growing adoption of Actor-model like APIs is a sure testament to the fact that we are moving into the era of message passing (I would claim that we are, in fact, already there). We have a powerful message passing framework at our hands – let’s make the most of it.
Phew. I feel better already. Thanks for listening