Google has open-sourced its protocol buffers, the company’s lingua franca for encoding various types of data, in order to set the stage for a wave of new releases,
according to official company blog posts and documents reported in this article.
“Practically everyone inside Google” uses protocol buffers, states a FAQ page. “We have
many other projects we would like to release as open source that use protocol buffers,
so to do this, we needed to release protocol buffers first.”
This is good stuff. Proper beard-powered engineering.
I looked through the spec and this is built for speed, compactness, portability and compatibility.
I wonder if a compiler/interpreter can be ported to the web (PHP/JS/Ruby &c.), it would be very interesting to process back-end data-streams on the front-end this way.
I might try a PHP port myself, PHP does have the necessary binary operators.
We’re already downloaded it to have a look at it. Although it’s basically ‘nothing new’, what I really like is the simplicity of the IDL language, the .proto files.
I wonder if there’s a dissector for Wireshark already?
You are aware that IDL is, like, 20 years old, right?
Edited 2008-07-10 01:31 UTC
As I said, ‘nothing new’. So yes I’m aware of that. The problem with many IDL’s is the complexity. And if you have a company with a bunch of C/C++ developers (like we do) then the Protocol Buffers IDL is attractive and certainly not intimidating.
Regards Hary
i see this as a nice and robust wire protocol. But i wish the steps to produce the classes or instantiate objects for java could be fewer. it gives a feeling this was prepared for C++ initially. i will give a try anyway.
There is another protocol and RPC mechanism called Hessian, which is also a binary transfer protocol, and it does not require any external configuration or code generation. It also allows method invocation. However, Hessian suffers from bugs and lack of documentation. if anyone is interested in hessian, can check it here:
http://hessian.caucho.com/
Please fix the link. I click on something that says ‘Official company blog’ and I get taken to PC World.
Yeah, I didnt know PCWorld was the company blog for Google…
> Google has prepared a download page that contains protocol buffer compilers for Java, C++ and Python.
So, Guido (van Rossum) has had a hand in this, somehow?
If this release is supposed to be a prelude to other future releases, anyone’s guess as to what those other releases will be?