4 ms·
Speaking of which, I’ve never seen a marshaling protocol with as sophisticated a message versioning scheme as ASN.1. The amount of thought that went into speci
by jnwatson 6y ago
Speaking of which, I’ve never seen a marshaling protocol with as sophisticated a message versioning scheme as ASN.1. The amount of thought that went into specifying how to allow “implementations from the future” to interoperate with those of the past is impressive.
- vlovich123 6y agoAnd yet outclassed on any meaningful metric by generic serialization languages? ASN.1 is a programming language in addition to a data transport format opening up many opportunities for security vulnerabilities. Performance is shit because it’s using text to encode everything so that it’s human readable. Similarly parsing is extra complicated and slow for that reason. Serialization/deserialization requires a dedicated library rather than one that can be reused across all tasks. Finally the data representation itself is extremely bloated vs the binary data. It’s impressive in the same way that cassette technology and the neat things people did with them. I really wish some reasonable IDL would just get adopted for standards purposes rather than each standard developing their own. All other serialization formats using an IDL seem strictly better.
- formerly_proven 6y ago> Performance is shit because it’s using text to encode everything so that it’s human readable. Similarly parsing is extra complicated and slow for that reason. [...] Finally the data representation itself is extremely bloated vs the binary data. A weird criticism considering the encoding rules usually used for ASN.1 are all binary and some of them are bit-packed (like PER), which is very uncommon in newer protocols (for good reason). Oh and there is OER now, which is actually a very reasonable binary encoding.
- lttlrck 6y agoAre you confusing ASN.1 "the language" with the encoding rules that are driven by it?
- tonyg 6y agoIsn't it amazing? ASN.1 seems like such a low bar to pass, and yet.