The JavaScript Theorist
One of the most fascinating science stories I've ever encountered is that of the memristor.
Despite the electronic age having been well underway by 1971, to say the least, it was only at that time that it was first noted that a fundamental (!) type of circuit element should be possible but had not yet been created, and it was in fact later proved to be true by a working implementation.
It is my feeling that in the JavaScript world, and with JSON in particular, there are many fundamental and critical types of applications and code libraries which exist for other languages but which we have yet to borrow and apply (the open source community being my primary interest here), not merely because of a lack of effort, but often because of either:
- a lack of imagination and consideration of the parallels between data formats
- a stubborn refusal to look at and apply parallels between languages with the dogmatic insistence that "JavaScript/JSON just isn't meant to do that" even if there is some grain of truth in the need to recognize how formats and thus parallels between them will differ
- an arrogant or facile dismissal of the relevance of work on now less fashionable languages such as XML (or even SQL) just because of some admittedly uglier and now outmoded or inadequate aspects of these languages
I believe that we as practical web developers need to apply a certain degree of "pure science" when looking at what we can do with JavaScript, or, in other words, to become JavaScript theorists as well as practitioners. This theorism can apply to any type of examination of the language--even into seemingly impractical areas--need not be limited to examining parallels with other languages, but that is my concern in this post.
I would like to examine here what critical applications and code libraries are missing for JSON that are present for XML or SQL.
I plan to expand more here on this later, but for now, I can refer you to a couple of pages which may give you some idea of the direction I was intending: http://softwarerecs.stackexchange.com/questions/17257/piecemeal-json-json-schema-walker-iterator and to https://github.com/brettz9/jtlt/ . Specifically, this includes developing the equivalents for JSON of code libraries for schema-aware XPath and XSLT/XQuery/XUF-for-and-as-JSON (or for XML/HTML/DOM/Jamilih), as well as applications like phpMyAdmin or Yii for SQL (using JSON Schema) for type-aware default editing and searching options via introspection on the schema (though also exposing this to users via type-aware viewing and searching). JSONEditor is an impressive first step in this direction as far as editing, but much more could be created. I'd also like to see XQuery/XUF-for-and-as-JSON equivalents work over HTTPQuery.
And for the holy grail of parallels, in this case to a neglected fundamental type of desktop application, the database-creation program, akin to Microsoft Access or LibreOffice Base. We need this for JSON, but within a web application, and with options for access control ranging from a private website to a public type-aware wiki.
If you are interested to collaborate with me on this, please contact me at brettz9@yahoo.com . I have some health issues which prevent me from implementing the coding at any decent pace, but I have had this ambition for quite a long time, and am trying to make some gradual headway with it. If more interest is found, we can set up a mailing list.