Post by Lawrence D'OliveiroYou did not say why JSON is needed.
Because it’s such a convenient meta-format,
Meta of what? How is it convenient for streaming objects? Begin with
access type. Proceed with time stamps.
Post by Lawrence D'Oliveiroand its text basis helps with
debugging.
There is nothing to debug in implementation of stream attributes. Nor it
is helpful to debug communication logic issues because the format is
*data representation* one. It represents *data*, not objects, not
states. All vital information about the logic and state is not there. It
is in the context. This is the main reason why *all* data representation
formats are useless garbage even when binary.
Text basis helps to produce 100 to 1 overhead in payload which directly
translates into latency, network and CPU load, storage space, packet
overflows, variable-length packets where it should have been fixed,
chunked transfers, dynamic memory allocation and mess that makes a
64-core CPU to perform like an i286.
It is absolutely useless, you cannot read, browse, search real-life
gigabytes long communication logs without customized tools.
Driving a car, heating the house, browsing Internet I do not care about
the logs. The damn thing must work.
Post by Lawrence D'OliveiroIts popularity aids interoperability with code bases in other
languages,
A requirement does not aid anything. It is just a requirement. JSON
would not aid you in dealing with X.509 certificates. They are in ASN.1.
Post by Lawrence D'Oliveirosupport by existing tools, and so on and so on.
Lemming's argument. Everybody's jumping I am jumping too.
Post by Lawrence D'OliveiroIf you didn’t know all that, you’ve been living under a coconut shell, as
we say in the old country ...
I am pretty much aware of data representation formats. Moreover, as you
may have noticed I implemented lots of them. Not because it is fun, but
because communication protocols is my job.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de