Hi Folks,
Fascinating information from Rick Jelliffe.
----------------------------------------------------------------
Where did it all start?
C was designed to allow programming; it is a general programming language. SGML was designed to allow
marking up; it is a generalized markup language. C was not designed with marking up in mind (by Ritchie et al). SGML was not design with programming in mind (by Goldfarb et al.).
What is JSON's roots? XML's roots?
JSON is a subset of C
[See C struct's and C arrays]. XML is a subset of SGML. The C subset was designed to facilitate
a subset of C's goals: allow a squinty subset of C thought necessary for data transfer between internet processes. The SGML subset was designed to facilitate a subset of SGML's goals: allow a squinty subset of SGML thought necessary for data interchange between
internet processes. JSON and XML are subsets of very different approaches for use in very similar scenarios. Note: JSON is a subset of C, by way of _javascript_/ECMAScript. How far have JSON and XML diverged from their roots?
JSON and XML are both data interchange syntaxes. JSON does not have any marking up DNA and XML does
not have any programming DNA. You use a Philips head screwdriver when your screws have Philips heads. You use a flat blade screwdriver when you have flat blade screws. But JSON is so subsetted compared to C/ECMAScript that it is not a programming language
at all despite its DNA (not a criticism), and XML is so subsetted from SGML that it is only functional as a markup language with effort.
Is XML a markup language?
XML is a markup language by DNA but it is not really a syntax good for marking up documents. Contrast
with HTML which retains tag and delimiter omission a la SGML. Which is why, for marking up (as an activity), the world uses HTML or wiki. I don't think choice is a bad thing: use HTML, wiki, csv, or JSON when the scenario clearly suits them and use XML otherwise.
Thanks Rick! |