Douglas Crockford talking about "The JSON Saga"
notes from Bayjax Meetup: http://www.meetup.com/BayJax/calendar/108524
Doug Crockford on the json saga
– json already existed in nature, but crockford discovered it
– it wwas being used at netscape in he form of array literals in communication 5 yrs before crockford discovered it
– crockford’s first transmission used js embedded in html in a frame for cross-browser compatability
– they set document.domain to get around the same origin policy
– backslashes are tolerated in json so we can put html in json
– original name was JSML, but that conflicted w/ a pre-existing java protcol
– json’s good for interserver and db applications
– some of his customers balked at usage because it wasn’t standard, so crockford put up a website to standardize it
– json is the intersection of modern programming languages
— simple values
— sequence of values
— collection of named values
— an intersection is easier to find than a union
– js is brilliant for state machines
– most ppl implement json parsers using eval, but this must be guarded by regex to valiudate the json, which slows it doen
– the latest version of ecma script implements a native JSON.parse, which is ver fast
– ajax was an important influence on json uptake
– improvements
— strip comments
— comments broke the parser
— comment parsing greatly increased complexity
— alignment w/ yaml
— added e notation to numnbers
– no version number
— everything’s crap until 3.0, but we avoid this by not having version numbers
— perhaps someday it will be replaced
— at least one piece of the stack will remain constant forever
– minimalism
— can fit on the back of a business card
– influences
— lisp s-expressions
— perhaps the greatest influence
— rebol
— al built upon a represenation of data, which is then executable
— rebol is a brilliant language
— JS, Python, NewtonScript
— Brendon Ike is a brilliant guy, so it’s no accident that it has brilliant aspects
— all were developed in isolation at the same time
— NeXT
— OpenStep property lists
— XML
— how did it become so popular?
—- html reduced it to basics, made it more basic, and made it easier to get everything to balance
—- A-level CTOs threw it out, but the B- and C-level developers embraced it and outnumbered the A-levels
— john seely brown said “maybe only something this simple could work”
—- he thought that the future was in loosely coupled systems
— xmlsucks.org
— some guy named pault lists all the xml alternatives
– disruption
– the 1st rule of workmanship: use the right tool for the right job
– xml arose out of: one tool to rule them all
– where did the idea come from that every data format should be a document format?
— runoff was one of the first
— GML
— Scribe
— the first place where document formate were done well
— separated format from markup
— if the web had been based on scribe instead of sgml, it would be a better place today
— scribe was the first time where doc format was used for data
– license
— MIT + “the software shall be used for good, not evil”
– the logo
— related to the ambihelical hexnut 😛
— a square and a circle w/ a twist
— data interchange we can believe in
– questions
— what would make html better
— make it extensible
— to be able to define new tags using css
— is there case-sensitivity in unicode?
— maybe. use lower-case in the meantime
— what would you like to see replace json
— jsonp is brilliant
— currently, we can’t easily represent simple bags
— remove the quotes from the keys
— a = []; a[0] = a; => infinite loop when run thru parser
— schema-less langs
— i don’t care
— brilliant work in schema-less dbs now
— why no commnets
— because ppl were using them to communicate w/ the parser
doug crockford on the json saga
– json already existed in nature, but crockford discovered it
– it wwas being used at netscape in he form of array literals in communication 5 yrs before crockford discovered it
– crockford’s first transmission used js embedded in html in a frame for cross-browser compatability
– they set document.domain to get around the same origin policy
– backslashes are tolerated in json so we can put html in json
– original name was JSML, but that conflicted w/ a pre-existing java protcol
– json’s good for interserver and db applications
– some of his customers balked at usage because it wasn’t standard, so crockford put up a website to standardize it
– json is the intersection of modern programming languages
— simple values
— sequence of values
— collection of named values
— an intersection is easier to find than a union
– js is brilliant for state machines
– most ppl implement json parsers using eval, but this must be guarded by regex to valiudate the json, which slows it doen
– the latest version of ecma script implements a native JSON.parse, which is ver fast
– ajax was an important influence on json uptake
– improvements
— strip comments
— comments broke the parser
— comment parsing greatly increased complexity
— alignment w/ yaml
— added e notation to numnbers
– no version number
— everything’s crap until 3.0, but we avoid this by not having version numbers
— perhaps someday it will be replaced
— at least one piece of the stack will remain constant forever
– minimalism
— can fit on the back of a business card
– influences
— lisp s-expressions
— perhaps the greatest influence
— rebol
— al built upon a represenation of data, which is then executable
— rebol is a brilliant language
— JS, Python, NewtonScript
— Brendon Ike is a brilliant guy, so it’s no accident that it has brilliant aspects
— all were developed in isolation at the same time
— NeXT
— OpenStep property lists
— XML
— how did it become so popular?
—- html reduced it to basics, made it more basic, and made it easier to get everything to balance
—- A-level CTOs threw it out, but the B- and C-level developers embraced it and outnumbered the A-levels
— john seely brown said “maybe only something this simple could work”
—- he thought that the future was in loosely coupled systems
— xmlsucks.org
— some guy named pault lists all the xml alternatives
– disruption
– the 1st rule of workmanship: use the right tool for the right job
– xml arose out of: one tool to rule them all
– where did the idea come from that every data format should be a document format?
— runoff was one of the first
— GML
— Scribe
— the first place where document formate were done well
— separated format from markup
— if the web had been based on scribe instead of sgml, it would be a better place today
— scribe was the first time where doc format was used for data
– license
— MIT + “the software shall be used for good, not evil”
– the logo
— related to the ambihelical hexnut 😛
— a square and a circle w/ a twist
— data interchange we can believe in
– questions
— what would make html better
— make it extensible
— to be able to define new tags using css
— is there case-sensitivity in unicode?
— maybe. use lower-case in the meantime
— what would you like to see replace json
— jsonp is brilliant
— currently, we can’t easily represent simple bags
— remove the quotes from the keys
— a = []; a[0] = a; => infinite loop when run thru parser
— schema-less langs
— i don’t care
— brilliant work in schema-less dbs now
— why no commnets
— because ppl were using them to communicate w/ the parserdoug crockford on the json saga
– json already existed in nature, but crockford discovered it
– it wwas being used at netscape in he form of array literals in communication 5 yrs before crockford discovered it
– crockford’s first transmission used js embedded in html in a frame for cross-browser compatability
– they set document.domain to get around the same origin policy
– backslashes are tolerated in json so we can put html in json
– original name was JSML, but that conflicted w/ a pre-existing java protcol
– json’s good for interserver and db applications
– some of his customers balked at usage because it wasn’t standard, so crockford put up a website to standardize it
– json is the intersection of modern programming languages
— simple values
— sequence of values
— collection of named values
— an intersection is easier to find than a union
– js is brilliant for state machines
– most ppl implement json parsers using eval, but this must be guarded by regex to valiudate the json, which slows it doen
– the latest version of ecma script implements a native JSON.parse, which is ver fast
– ajax was an important influence on json uptake
– improvements
— strip comments
— comments broke the parser
— comment parsing greatly increased complexity
— alignment w/ yaml
— added e notation to numnbers
– no version number
— everything’s crap until 3.0, but we avoid this by not having version numbers
— perhaps someday it will be replaced
— at least one piece of the stack will remain constant forever
– minimalism
— can fit on the back of a business card
– influences
— lisp s-expressions
— perhaps the greatest influence
— rebol
— al built upon a represenation of data, which is then executable
— rebol is a brilliant language
— JS, Python, NewtonScript
— Brendon Ike is a brilliant guy, so it’s no accident that it has brilliant aspects
— all were developed in isolation at the same time
— NeXT
— OpenStep property lists
— XML
— how did it become so popular?
—- html reduced it to basics, made it more basic, and made it easier to get everything to balance
—- A-level CTOs threw it out, but the B- and C-level developers embraced it and outnumbered the A-levels
— john seely brown said “maybe only something this simple could work”
—- he thought that the future was in loosely coupled systems
— xmlsucks.org
— some guy named pault lists all the xml alternatives
– disruption
– the 1st rule of workmanship: use the right tool for the right job
– xml arose out of: one tool to rule them all
– where did the idea come from that every data format should be a document format?
— runoff was one of the first
— GML
— Scribe
— the first place where document formate were done well
— separated format from markup
— if the web had been based on scribe instead of sgml, it would be a better place today
— scribe was the first time where doc format was used for data
– license
— MIT + “the software shall be used for good, not evil”
– the logo
— related to the ambihelical hexnut 😛
— a square and a circle w/ a twist
— data interchange we can believe in
– questions
— what would make html better
— make it extensible
— to be able to define new tags using css
— is there case-sensitivity in unicode?
— maybe. use lower-case in the meantime
— what would you like to see replace json
— jsonp is brilliant
— currently, we can’t easily represent simple bags
— remove the quotes from the keys
— a = []; a[0] = a; => infinite loop when run thru parser
— schema-less langs
— i don’t care
— brilliant work in schema-less dbs now
— why no commnets
— because ppl were using them to communicate w/ the parser
Like this:
Like Loading...
Related
I linked to this one too from my wiki notes on Crockford’s JSON saga.