5 Minutes about my recent dive into



                               CoffeeScript



Thursday, 2 September 2010
Javascript is a
                             powerful, lambda-
                             based language
                             trapped in a
                             misleading C syntax
                             and made difficult by
                             design flaws.




Thursday, 2 September 2010
JSLint compliant, well-mannered
   Javascript is a bit unnatural
                                              ==
                                             void
                                              var
                               var foo = function foo( ) {};
                                   undefined, null, falsy
                                    new Boolean(false)
                             Switch fall through on string only
                                  Loose typing / objects
                                      Global variables
                                  Unintended shadowing


Thursday, 2 September 2010
The language I want it to be

                                     (examples)




Thursday, 2 September 2010
Simpler, cleaner JS

         Python, Ruby, yaml
         inspired functional
         OO language that
         compiles to the good
         parts of JS.

         Available as a Node.JS
         utility.


Thursday, 2 September 2010
JSLint compliant, readable output
                                      (try the website)




       Courtesy: http://jashkenas.github.com/coffee-script/
Thursday, 2 September 2010
Nice with JQuery and Underscore.js




          (In fact the author jashkenas @ Github ported Underscore.js to CoffeeScript)




Thursday, 2 September 2010
Structure your prototypes

                                     (sample)

                             CoffeeScript and Raphaël




Thursday, 2 September 2010
CoffeeScript with Node.JS backend




           Credit: dhotson @ tumblr


Thursday, 2 September 2010
Jison parser
                                Compiler written in CoffeeScript


                             http://jashkenas.github.com/coffee-script/
                                       http://raphaeljs.com/



                                       Warning: still pre-1.0
                                       It is a moving target

Thursday, 2 September 2010

CoffeeScript

  • 1.
    5 Minutes aboutmy recent dive into CoffeeScript Thursday, 2 September 2010
  • 2.
    Javascript is a powerful, lambda- based language trapped in a misleading C syntax and made difficult by design flaws. Thursday, 2 September 2010
  • 3.
    JSLint compliant, well-mannered Javascript is a bit unnatural == void var var foo = function foo( ) {}; undefined, null, falsy new Boolean(false) Switch fall through on string only Loose typing / objects Global variables Unintended shadowing Thursday, 2 September 2010
  • 4.
    The language Iwant it to be (examples) Thursday, 2 September 2010
  • 5.
    Simpler, cleaner JS Python, Ruby, yaml inspired functional OO language that compiles to the good parts of JS. Available as a Node.JS utility. Thursday, 2 September 2010
  • 6.
    JSLint compliant, readableoutput (try the website) Courtesy: http://jashkenas.github.com/coffee-script/ Thursday, 2 September 2010
  • 7.
    Nice with JQueryand Underscore.js (In fact the author jashkenas @ Github ported Underscore.js to CoffeeScript) Thursday, 2 September 2010
  • 8.
    Structure your prototypes (sample) CoffeeScript and Raphaël Thursday, 2 September 2010
  • 9.
    CoffeeScript with Node.JSbackend Credit: dhotson @ tumblr Thursday, 2 September 2010
  • 10.
    Jison parser Compiler written in CoffeeScript http://jashkenas.github.com/coffee-script/ http://raphaeljs.com/ Warning: still pre-1.0 It is a moving target Thursday, 2 September 2010