[zeromq-dev] ooc bindings for ØMQ

Pieter Hintjens ph at imatix.com
Thu Jun 17 12:45:53 CEST 2010


On Thu, Jun 17, 2010 at 11:39 AM, Martin Sustrik <sustrik at 250bpm.com> wrote:

> But yes, right. If you think of it, if you want to communicate between
> random language X and random language Y (not even speaking of different
> OS platforms), 0MQ is often the only choice.

It becomes compellingly easy now.

> If you follow RabbitMQ mailing list, you may have noticed that the
> approach based on standardised wire protocol (AMQP) makes writing
> language bindings much more complex and thus results in lower overall
> number of languages supported.

At some point in time people will want to write 100% native client
stacks and will need a fully documented protocol.  There is no way a
client library can replace a proper protocol over the long term.  What
we have today is a good way to get "running code" that lets us
carefully develop the underlying architectures.

It would be wrong IMO to say that having a standard protocol is a bad
thing.  HTTP, TCP, IP,... the list of standard protocols with
extensive language support is massive.

The real reason AMQP has limited language support is that as a
protocol it is more complex and less stable that it could be, and this
means people pay a huge cost to develop bindings, only to find their
work useless in the long term.  Only large firms can afford to waste
money like this.  Take a look at the contributed Java binding for
OpenAMQ and you see a massive project (at least 4-6 months of work)
that was broken by each new release of AMQP and will be made 100% junk
by AMQP/1.0.

It's not about whether or not to make protocols.  It's about making
protocols that are not pathologically hostile to contributors.

We started a protocol project for 0MQ at rfc.zeromq.org and that seems
essential in the long run.  It's certainly on my roadmap to build a
stack of simple standard protocols that allow perfect interoperability
with _simple_ native stacks in any language.  To some extent that is
the only valid long term goal of the project because without that, 0MQ
will never become part of the standard Internet architecture.  I don't
see the IETF accepting a library of code.

-Pieter



More information about the zeromq-dev mailing list