Don't forget about XML, MIME, SGML, SOAP... We've had decades of protocols both binary and text, and they've all sucked.
The thing it seems we've learned more recently is that the more features and complication you add to a protocol, the more it sucks. At the end of they day your data is composed of primitives, records, and lists, and if your protocol offers to structure things in any other way, it's just creating confusion. This is why JSON beats XML, and Protobufs beats many of its binary predecessors.
Comments
Don't forget about XML, MIME, SGML, SOAP... We've had decades of protocols both binary and text, and they've all sucked.
The thing it seems we've learned more recently is that the more features and complication you add to a protocol, the more it sucks. At the end of they day your data is composed of primitives, records, and lists, and if your protocol offers to structure things in any other way, it's just creating confusion. This is why JSON beats XML, and Protobufs beats many of its binary predecessors.