Marc Gravell :
Protocol buffers is a serialization library, so the answer to that is basically the same as to the question:\n\n\n When would I want to serialize / deserialize data?\n\n\nThat could be any scenario involving persistence (disk, blobs in a database, etc), transfer (sockets, files, etc), or simply in-memory storage (snapshots, memento, deep-clone). The fact that protobuf is version-tolerant and cross-platform means that it can work for both homogeneous and heterogeneous setups - as indeed can various other serialization formats. Being terse (small) it may be particularly useful when bandwidth is at a premium (which is \"always\" on busy systems), and being a binary (rather than text) protocol, it is noticeably cheaper to process - so good for reducing CPU overhead. Beyond that: this is an open-ended question limited only by your imagination.",
2013-04-08T13:56:51