On Aug 13, 2013, at 4:14 AM, Tony Finch <dot(_at_)dotat(_dot_)at> wrote:
Carsten Bormann <cabo(_at_)tzi(_dot_)org> wrote:
The Concise Binary Object Representation (CBOR) is a data format
whose design goals include the possibility of extremely small code
size, fairly small message size, and extensibility without the need
for version negotiation. These design goals make it different from
earlier binary serializations such as ASN.1 and MessagePack, or other
binary serializations that may be created in the future.
I have a small problem with this abstract: the three goals that it picks
out are satisfied by MessagePack better than CBOR, since MessagePack is
simpler so will need even less code.
MsgPack is not extensible. If it was, we might have been able to avoid all of
this.
As far as I can tell what makes CBOR
different from MessagePack is support for richer types, especially
strings. Streaming support is useful but it wasn't one of the original
goals.
It *was* part of the original goals; it wasn't part of the original format.
Some people on the AppsAWG list pointed out to us that our format was not
meeting its goals by not supporting streaming, so we added it. Yes, this added
a bit of complexity for decoders, but we handled that as best we could.
--Paul Hoffman