Sunday, January 13, 2013

JSON: Language Stolen By Education Code

With recent said suicide of Aaron Swartz,  many people pointed fingers to (cyber)bullies and markets that make money from re-published academic papers. You can assume somebody put their own name on such papers for fame. That kind of popularity effects our language one way or another. New programmers often followed those re-published papers as valid authority, so such documents were made popular by such continuous plagiarisms. JSON is one such "language" stolen from academia, and today it entraps new programmers before they fall into said crime.

If we trace the roots of the Java Programming Language, I (we) found that it started in an established object-oriented environment that was made available online for research and development. Xerox PARC hosted its virtual, timeshared extensions to LambdaMoo, by Pavel Curtis. Back in late 1970s and throughout 1980s, you could login (over the modem) and textually explore the environment. It was also programmable with many concurrent users, students, and teachers. It was also accessible to those who are legally blind by means of speech analysis and synthesis. That was all server side environments, and that is where Java programmers extended it for client-terminal software (and offline). LambdaMOO and Java both used byte-code interpretation based on YACC ("Yet another compiler-compiler" for UNIX systems).

I also used YACC at first when I started my interpreter before 1984. I switched it, then, over to heavily modified  BISON output to recode my interpreter into Atomatrix, my dynamic compiler. I did not use LambdaMOO or study MOO source code, so I wrote it all from scratch.. Later, I compared its timeshare-code, and I found LambaMOO's virtualization was quite different, so no worries (right?). I published my compiler (earlier by USENET and later on SourceForge). I didn't use any byte-code or such specification, so I have my own perspective separate from those languages. My compiler worked much like extensions to assembled machine language. Note that I was (and still am) against any "disruptive" word usage, like "child" or "parent", in my program languages, as I used (and still use) more scientific words and suffixes.

Such object notation as JSON does not appear so disruptive as its descriptions (on "paper"), but neither does ASCII. Its said inherit Java language appeared quite littered with such disruptive words. When I stated prior work on Atomatrix before Java appeared in public release, I noticed how often I got blamed for said disruption throughout these years. If you look at the textual objects and functions that my compiler processes, you probably notice similar notation, especially usage of curly brackets for primitive arrays and ASCII symbols for flow control and functions. Different people have updated descriptions of JSON away from such primitives with validation rules, such as: "JSON Content Rules" recently published at IETF.

If new programmers follow newly published rules then, they often showed it by how often they judged primitive usage by earlier programmers. Such judgments already got quite "overreaching" before such event(s) as Swartz, so do not expect much sympathy from us that have been already stampeded upon. Education code "pushes" students to question their peers for details, but that is often (mis)taken as an entitlement of rights outside designated institutions. New programmers and "authors" want us to "explain this and that," "make them understand," "prove" anything stated, and present problems before solutions. They forget we need money to stay alive and support our families. Without that money, we cannot help them more than we helped ourselves.

"God helps those who help themselves."