

BSON and Data Interchange - meghan
http://blog.mongodb.org/post/9333386434/bson-and-data-interchange

======
seanalltogether
Maybe I'm wrong, but it seems like the only thing missing from json is a
standard for dealing with time, and a standard for dealing with typed
objects/arrays. Wrap all that into a binary format and call it done. All these
other additions seem like bloat to me designed for some specific language or
use case.

~~~
jvoorhis
When are UNIX time or ISO-8601 insufficient?

~~~
skrebbel
Because every programming language's library does it slightly different. With
the T, without the T, with or without the Z, converted to UTC or not.. Of
course it's no rocket science to figure out, but it's work every time.

Notably, JavaScript has no standard way to convert a Date to e.g.
2007-03-01T13:00:00Z.

UNIX timestamps are worse because there's no hint about the timezone (should
be UTC but often isn't), plus no space for milliseconds. Of course you can
just *1000 for msecs and document that it's UTC, but once again, not trivial.

Basically, you can't just convert a JSON string date into your language's
Date(Time) class and be sure that it went right. This is a lot of energy
wasted.

------
skrebbel
A lot of tools for (almost) the same job, it seems.

I also like Zed Shaw's TNetstrings alternative: <http://tnetstrings.org/>

I like how it, indeed, is trivial to parse.

------
tylerneylon
See also bert-rpc, which is a cross-language/platform serialization standard
along with fast rpc support. This is what github uses:

<http://bert-rpc.org/>

------
clarkevans
It'd be nice if the Python version of BSON were pulled out and put in a
separate module so that it could be used independent of MongoDB.

