Interview with Doug Crockford, creator of JSON
simple-talk.com
simple-talk.com
Plus that I see JSON as a minor format, it's not like someone didn't think before: "let's just wire some lisp over a socket and eval it on the other side".
The same about the guy that invented Markdown, another minor microformat that somehow is seen as a great accomplishment in some circles (mostly Reddit).
One of the key insights shared by both formats is the very thing that make people wary about touting them as serious creative accomplishments: they build, very explicitly, on existing user conventions. Markdown was based on the emphases and accents used in email; JSON was based on JavaScript's object notation. They appear obvious because we already know the rules.
[1] Simple for humans, anyway; Markdown isn't straightforward to parse, because of all the edge cases.
However, the other reason (the original reason peraps) is that we have some C processes that listen and interpret s-expressions. There were there before Python, so we already had an s-expression library for them. Then our Python processes had to talk to the C so I implemented Python object persistence on top of the existing s-expressions. Now we use it even between Python processes.
Well perhaps one day we'll just switch to json, yaml or protobufs. But we haven't decided which one yet.
I do find it interesting that nobody even mentions s-expression these day when there compare various persistence mechanism. I guess lisp and parantheses have stopped being cool?
We use S-Expressions for logging in XenServer.
Folks around here recognize and appreciate the true value of constraints in design. In the real world, this is often a tough sell. My boss always wants to have a superset of every feature of every competitors' product. It takes some subtle argumentation to overcome this.
Although I still see JSON as a great accomplishment not for what it is technically but for the following it has (ie. the social aspect, the actual developers using it).
PS: I'm actually typing this on my MacBook Pro.