- doesn't require an extra compilation step or special definition files
- Has parallel binary and textual forms so that you're not wasting CPU and bandwidth serializing/deserializing text. Everything stays in binary except in the rare cases where humans want to look or edit.
- supports ad-hoc data structures or schemas per your preference
- supports all common types natively (doesn't require special string encoding like base64 or such nonsense)
- supports comments, metadata, references (for recursive/cyclical data), custom types
- doesn't require an extra compilation step or special definition files
- Has parallel binary and textual forms so that you're not wasting CPU and bandwidth serializing/deserializing text. Everything stays in binary except in the rare cases where humans want to look or edit.