Є в мене pet project, який замислювався як колективний, але фактично над ним працюю я і ще одна людина, NStamp . І там потрібно буде деякі дані серіалізувати в публічно доступному форматі, а не на колінці. То я вирішив використати ProtoBuf, заодно і подивитися, як воно зсередини. І маю сказати, що дуже дуже пристойно. Не сам формат чи нотація (хоча ті теж непогані), а можливість генерувати код для купи мов. Тобто, ми маємо надати людям лише .proto файл(и) з форматом, а ті, хто хоче прочитати дані, генерують код для себе тією мовою, якою їм потрібно.
Якби свого часу для ASN.1 зробили мову опису та генератор, то не знадобився би ProtoBuf. Лишилося одне питання, яке й повертає нас на початок - що заважало Google'у зробити кодогенератор для ASN.1 замість того, щоб вигадувати велосипед? Відповідаємо - The Fatal Flaw.