Є така байка про Microsoft, чому ті переписували раз за разом API (OLE, COM, ActiveX тощо) - тому, що в попередніх був The Fatal Flaw, "це було зроблено не нами". Таку саму думку я мав щодо гуглівського Protocol Buffers (він же ProtoBuf). Адже є ASN.1 в кількох варіантах - старий і надійний, використовується на кожному комп'ютері (в ньому, зокрема, сертифікати записуються, ті що для SSL/TLS).
Є в мене pet project, який замислювався як колективний, але фактично над ним працюю я і ще одна людина, NStamp . І там потрібно буде деякі дані серіалізувати в публічно доступному форматі, а не на колінці. То я вирішив використати ProtoBuf, заодно і подивитися, як воно зсередини. І маю сказати, що дуже дуже пристойно. Не сам формат чи нотація (хоча ті теж непогані), а можливість генерувати код для купи мов. Тобто, ми маємо надати людям лише .proto файл(и) з форматом, а ті, хто хоче прочитати дані, генерують код для себе тією мовою, якою їм потрібно.
Якби свого часу для ASN.1 зробили мову опису та генератор, то не знадобився би ProtoBuf. Лишилося одне питання, яке й повертає нас на початок - що заважало Google'у зробити кодогенератор для ASN.1 замість того, щоб вигадувати велосипед? Відповідаємо - The Fatal Flaw.
За життя
-
Хмара тегів
.net advertising adwords AI alcohol alice android apple architecture art asia aston martin audi audio banks beer bees bike billiard bing biology birds black humor books browsers building business cars cartoon cats cedar cell phone charity chat cheaters cheese chess children china chipmunk christianity cinema city civilization cli clients climate clips coffee command line communication computers cooking cover credit card crime crisis croatia cryptography culture daily question design development digitizer dogs dreams drinks ebay ecobalance ecology economy energy english europe EV facebook family ferret finance firefox flashback flowers food forest fox fun future gadget games garden gift google hacking haiku hamster handhelds hardware health hedgehog history homo homini lupus est hong kong hotels house HP htc humor idea idiocy insurance interesting facts interesting links internet ios iphone it italy jaguar japan jewelry just wondering keyboard kitchen language languages Latvia law lenovo life life hacks linux literature lithuania lviv management marketing marten medicine metal microsoft migration mini-literature money mordor mouse movie movies mushrooms music mystery naming nature news nokia noocracy note notebook office palm patents pda pdf personal pets Philips phone photo picture piracy plants poetry poland politics poll porno power printing programming psychology publishing pussy quiz quote quotes rado realty religion rest roses russia samsung school science security security is self-development services shop simulation slovakia smartwear society sociology socionics software sony space spam sport squirrel state strawberry street views study stylus symbian synchronicity synchronization tags tales tatoo tea technocracy technology telephony terrorism tesla thoughts tips tomatos tools toys travel turkey twitter ubuntu UIA ukraine unix usa useful things users ussr video wanted war watch water wave weapons weather web webmastering windows work world wtf? yandex Білорусь благодійність вибори Дела семейные дороги Київ книга жалоб МАУ море пакращення пиво розвод совок Україна