Google Protocol Buffers - the Good, the Bad and the Ugly

Google released (to open source) its “language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more”: Protocol Buffers.

Google claims it’s like XML, but better because: “[Protocol Buffers] are 3 to 10 times smaller, and 20 to 100 times faster”.

My feelings about this news are mixed. You can’t argue with Google when it comes to matters of performance and speed, BUT you can feel disgusted at the fact that a giant, like Google, uses its muscle to diminish and harm the crucial standard like XML. XML took so long to get adopted, made so much possible and is still so fragile – it’s hard to take this matter lightly.

OK, maybe the PB thing is faster and smaller and maybe it’s not as cumbersome as CORBA was, so it’s not totally bad, but let’s be honest here – not everybody is Google and I can bet 90% of systems just don’t care about the same things Google does. Thus, XML is fine for most applications.

However, now that Google is pushing one more of its bloated technologies (want another example… GWT) – a lot of people will adopt it just because it’s a Google thing. And it may harm XML, and it may harm the industry.

So, you see – as much as we all love open source, sometimes when it gets intermixed with big, corporate needs, things can go south.

And last but not least, if you want more object-oriented, smaller, faster exchange format, there is JSON! JSON is well adopted and support, so do we really need Protocol Buffers?

irakli No bio, just a tagline: 'Sure, you can get code written in exchange for a bottle of vodka in Russia, but then you get vodka code. And not even Stoli.'