<story><title>You&apos;re Using JSON, Why not MessagePack?</title><url>http://blog.andrewvc.com/why-arent-you-using-messagepack</url></story><parent_chain></parent_chain><comment><author>randrews</author><text>For the same reasons we are in the process of switching from Protocol Buffers back to JSON:&lt;p&gt;* It does not support our languages. Is there a Ruby module with no C extension? A C# library? Lua? What about that really cool language coming out next week? What about C?&lt;p&gt;* Even if it does, why have to deal with someone else&apos;s poor API design? JSON has a million parsers for everything, and if by chance you don&apos;t like any of them, you can write another one in about two hours.&lt;p&gt;* It&apos;s not human-readable. Enough said.&lt;p&gt;* It&apos;s smaller than JSON, sure, but is it smaller than gzipped JSON? PB&apos;s aren&apos;t for our purposes. Neither are TNetstrings. This might be, I haven&apos;t checked, but I doubt it.</text></comment>
<story><title>You&apos;re Using JSON, Why not MessagePack?</title><url>http://blog.andrewvc.com/why-arent-you-using-messagepack</url></story><parent_chain></parent_chain><comment><author>haberman</author><text>The &quot;4x faster than Protocol Buffers&quot; claim is misleading, as I have explained before: &lt;a href=&quot;http://news.ycombinator.com/item?id=2146147&quot; rel=&quot;nofollow&quot;&gt;http://news.ycombinator.com/item?id=2146147&lt;/a&gt;&lt;p&gt;I&apos;m working on a Protocol Buffer library that can serialize/deserialize to &lt;i&gt;either&lt;/i&gt; JSON &lt;i&gt;or&lt;/i&gt; Protocol Buffers.  That way you can do all your development with JSON, but if you ever find you need the efficiency improvements of a binary format, you can just change your Serialize() call.&lt;p&gt;Having a .proto file gives you the benefits of something like JSON Schema: a place to document all your fields and what they mean, and a few very simple validation constraints like the expected types.</text></comment>