
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:
Be the first to like this post.
I linked to this one too from my wiki notes on Crockford’s JSON saga.
Dan Dascalescu
July 28, 2009 at 12:09 pm
[...] notes: Bayjax Meetup @ Yahoo! Sunnyvale (7/27): Crockford “The JSON Saga” [...]
php « My Blog
March 19, 2010 at 9:54 am