This appears to be something in between of JSON and Protocol buffers. I wonder under what conditions Ion makes more sense than either of the JSON/PBuff.
One significant advantage is you can opt-in to sharing schemas - without requiring all consumers to have your schema. Like a lot of Amazon's internal data formats, Ion designed to support backwards compatible schemas as well (that is, adding additional fields does not break existing consumers). It has isomorphic text and binary representations as part of the standard making debugging or optimized transport a config o…
Then how is the client supposed to handle the data? Guessing?
> backwards compatible schemas
> text and binary representations
> type system
> maps well to several languages
Protos have all these.
> S-Expressions
Okay? Is that useful?