<oembed><type>rich</type><version>1.0</version><author_name>npub17ty4mumkv43w8wtt0xsz2jypck0gvw0j8xrcg6tpea25z2nh7meqf4qgyd</author_name><author_url>https://nostr.ae/npub17ty4mumkv43w8wtt0xsz2jypck0gvw0j8xrcg6tpea25z2nh7meqf4qgyd</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-01-19&#xA;📝 Original message:The engineers at Google were well aware that ASN.1 existed. I can assure&#xA;you of that, because I was one of them.&#xA;&#xA;The protobuf FAQ has a very polite take on the matter:&#xA;&#xA;   https://developers.google.com/protocol-buffers/docs/faq&#xA;&#xA;This email thread gives more enlightenment:&#xA;&#xA;   https://groups.google.com/forum/#!topic/protobuf/eNAZlnPKVW4&#xA;&#xA;Anyone who has actually had to work with both ASN.1 and protocol buffers&#xA;will be able to explain why ASN.1 should not be chosen for any modern&#xA;formats. A lot of it boils down to simplicty and quality of&#xA;implementations, especially open source implementations.&#xA;&#xA;With respect to the specific concerns Richard raises:&#xA;&#xA;Performance doesn&#39;t feel that relevant when you think that:&#xA;&gt;&#xA;&#xA;Performance wasn&#39;t a concern.&#xA;&#xA;&#xA;&gt; 2. One would be cramming this data into a binary format just so you can&#xA;&gt; then attach it to a no-so-binary format such as HTTP.&#xA;&gt;&#xA;&#xA;HTTP transmits files as binary on the wire. So it&#39;s binary-clean and,&#xA;moreover, HTTP/2 aka SPDY is fully binary and doesn&#39;t use text anywhere&#xA;except the gzip dictionary.&#xA;&#xA;&#xA;&gt; 2. There are tons of great open source libraries and API for parsing /&#xA;&gt; manipulating / generating.&#xA;&gt;&#xA;&#xA;Luckily, this is also true of protocol buffers. Language support is pretty&#xA;good these days.&#xA;&#xA;&#xA;&gt; 4. The standards are much easier to read and write. They don&#39;t need to&#xA;&gt; contain code like BIP-0070 currently does and they can contain examples,&#xA;&gt; which BIP70 does not.&#xA;&gt;&#xA;&#xA;BIP 70 doesn&#39;t contain any code, as far as I know. The protobuf schema&#xA;might look like code, but it&#39;s not - it&#39;s just a description of what fields&#xA;a message can contain and their types. This is very relevant for a&#xA;specification!&#xA;&#xA;JSON in particular is pretty awful and I don&#39;t like it much. It suffers&#xA;complexities with things as basic as encoding numbers and strings. It&#39;s&#xA;very much unsuited to applications where correctness matters and where&#xA;you&#39;re dealing with binary structures.&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20150119/e6a76662/attachment.html&gt;</html></oembed>