Erik's blog

Code, notes, recipes, general musings

notes: Bayjax Meetup @ Yahoo! Sunnyvale (7/27): Crockford “The JSON Saga”

with 2 comments

Douglas Crockford describing The JSON Saga

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 :P

– 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 :P
– 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 :P
– 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

Written by Erik

July 28, 2009 at 8:30 am

Posted in notes

Tagged with , , , ,

2 Responses

Subscribe to comments with RSS.

  1. I linked to this one too from my wiki notes on Crockford’s JSON saga.

    Dan Dascalescu

    July 28, 2009 at 12:09 pm

  2. [...] notes: Bayjax Meetup @ Yahoo! Sunnyvale (7/27): Crockford “The JSON Saga” [...]

    php « My Blog

    March 19, 2010 at 9:54 am


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.