A top-speed replacement for XML

Jul 8, 2008 12:00 GMT  ·  By

Google's Software Engineering Team has developed yet another tool to come to the aid of the webmasters. The application consists of Protocol Buffers that, as it is stated on the company's blog, "allow you to define simple data structures in a special definition language, then compile them to produce classes to represent those structures in the language of your choice." When dealing with large amounts of code, the message needs to be compressed in classes, which is exactly what Protocol Buffers do.

The team that developed the new technology explains why their product is not just another Interface Description Language. While IDLs' characteristics only leave room for intricate solutions, the Protocol Buffers' main attribute is the simplicity. "By sticking to a simple lists-and-records model that solves the majority of problems and resisting the desire to chase diminishing returns, we believe we have created something that is powerful without being bloated," boasts Kenton Varda of Software Engineering Team at Google.

Google itself needed a data language, because its thousands of data formats ought to be organized somehow. Since the large amount of information couldn't be really handled by the usual IDL, XML, Google teamed up to release something that would be both to its and the users' benefit. "We have seen how effective a solution they can be to certain tasks, and wanted more people to be able to take advantage of and build on this work," says Kenton Varda.

In the documentation, Google gives a few examples of the uncanny capacities of the encoder. Protocol Buffers are described as 3 to 10 times smaller than XML, and 20 to 100 times faster. Thanks to the fact that the disposal in classes is made according to the principle of "get and set," the product is not as ambiguous as previous IDLs. Programmers, whether they are using Java, C++ or Phyton, will easily handle the generated classes, because the data access is, with the new product, more convenient.