- human readable
- good for quick protyping
- good for inspection while debugging
They are also:
- complicated and slow to parse
- more bloated than binary
We benefited from text protocols because we had plenty of headroom: memory was cheap enough, storage was cheap enough, network was cheap enough, power was cheap enough for our use cases. But that's not quite so true anymore when you have to scale to support many connected systems and handle lots of data. The honeymoon's almost over.
These are some of the reasons why I'm building https://concise-encoding.org