SlideShare a Scribd company logo
1 of 8
Download to read offline
            {"
                }   }   {"
               {   { } }"
                }   }{ {"
               { }{ } }                       _____        __ __"
              ( }{ }{ { )                    / ____|      / _|/ _|"
            .- { { } { }} -.                | |      ___ | |_| |_ ___ ___"
           ( ( } { } { } } )                | |     / _ | _| _/ _ / _ "
           |`-..________ ..-'|              | |___| (_) | | | || __/ __/"
           |                  |              ________/|_| |_| ___|___|"
           |                  ;--."
           |                (__              _____            _       _"
           |                  | ) )          / ____|          (_)     | |"
           |                  |/ /          | (___    ___ _ __ _ _ __ | |_"
           |                  ( /            ___  / __| '__| | '_ | __|"
           |                  |/             ____) | (__| | | | |_) | |_"
           |                  |             |_____/ ___|_| |_| .__/ __|"
            `-.._________..-'                                    | |"
                                                               |_|"
                                        "




                                                         .oooooo.      ooooo   ooooo      ooooooooooooo     !
                                                        d8P' `Y8b      `888'   `888'      8'   888   `8     !

Mark Wunsch        @markwunsch!
                                                       888
                                                       888
                                                       888     ooooo
                                                                        888
                                                                        888
                                                                        888
                                                                                888
                                                                                888
                                                                                888
                                                                                               888
                                                                                               888
                                                                                               888
                                                                                                            !
                                                                                                            !
                                                                                                            !
Exotic Programming Languages and the Web!              `88.    .88'
                                                        `Y8bood8P'
                                                                        888
                                                                       o888o
                                                                                888     o
                                                                               o888ooood8
                                                                                               888
                                                                                              o888o     !
                                                                                                            !
var pg = require('pg'); !
//or native libpq bindings!
//var pg = require('pg').native!
!
var conString = "tcp://postgres:1234@localhost/postgres";!
!
// error handling omitted!
pg.connect(conString, function(err, client) {!
  client.query("SELECT NOW() as when", function(err, result) {!
     console.log("Row count: %d",result.rows.length); // 1!
     console.log("Current year: %d", result.rows[0].when.getYear());!
  });!
});!
•    compiles into JavaScript!
•    JavaScript s object model!
•    the good parts !
•    It s just JavaScript. !
fling = (img) ->!
  $('body').append img!
  img.show()!
  img.css!
    '-webkit-transform': "rotate(#{rando()}deg)"!
    'top': root.parseInt(img.css('top'), 10) - rando 45!
    'left': root.parseInt(img.css('left'), 10) - rando 45!
    'opacity': 0!
  root.setTimeout (-> img.hide().remove()), 5000!



rando = (multiplier = 10) ->!
  num = Math.ceil Math.random() * multiplier!
  if num % 2 then -num else num!




skus = (sku for id, sku of order.skus)!
if pin.properties.count isnt 1!
  for order, index in pin.properties.orders when (Date.now() - !
  » Date.parse order?.submission_date) > (config.expiration ? 180000)!




class Mob!
  constructor: (@name) ->!
        !
  move: (meters) ->!
    alert @name + " moved #{meters}m."!
!




name        = person.name!
{name}      = person!
{name, age} = person!
!
tag = "<impossible>"!
[open, contents..., close] = tag.split("")!
But what about my debugger?


  Common concerns
        Compiled?
Thanks.
                          Here are some links!

•  http://coffeescript.org!
•  https://github.com/jash
 kenas/coffee-script/wiki/List-of-languages-that-compile-to-JS!
•  Line Number Mapping: https://github.com/jashkenas/coffee-script/
 issues/558!
•  Hello World in Dart: https://gist.github.com/1277224!
•  Smooth CoffeeScript: http://autotelicum.github.com/Smooth-
 CoffeeScript/!
•  The Little Book on CoffeeScript: http://arcturo.github.c
 om/library/coffeescript/!


                        Mark Wunsch   @markwunsch!

More Related Content

Similar to CoffeeScript Lightning Talk

Similar to CoffeeScript Lightning Talk (11)

HCI in IoT
HCI in IoTHCI in IoT
HCI in IoT
 
Attività didattiche
Attività didatticheAttività didattiche
Attività didattiche
 
Listado por club xi valida
Listado por club xi validaListado por club xi valida
Listado por club xi valida
 
Leng 04
Leng 04Leng 04
Leng 04
 
Leng 04
Leng 04Leng 04
Leng 04
 
Leng 15
Leng 15Leng 15
Leng 15
 
RSpecによるRailsアプリケーションBDD事例
RSpecによるRailsアプリケーションBDD事例RSpecによるRailsアプリケーションBDD事例
RSpecによるRailsアプリケーションBDD事例
 
Tech Fielders セミナー | アプリケーション開発環境の進化 Part1
Tech Fielders セミナー | アプリケーション開発環境の進化 Part1Tech Fielders セミナー | アプリケーション開発環境の進化 Part1
Tech Fielders セミナー | アプリケーション開発環境の進化 Part1
 
Goiken2008 slide01
Goiken2008 slide01Goiken2008 slide01
Goiken2008 slide01
 
Closing Keynote i7summit 2010
Closing Keynote i7summit 2010Closing Keynote i7summit 2010
Closing Keynote i7summit 2010
 
Keio slide
Keio slideKeio slide
Keio slide
 

Recently uploaded

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 

Recently uploaded (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 

CoffeeScript Lightning Talk

  • 1.             {"          } } {"         { { } }"          } }{ {"         { }{ } } _____ __ __"        ( }{ }{ { ) / ____| / _|/ _|"      .- { { } { }} -. | | ___ | |_| |_ ___ ___"     ( ( } { } { } } ) | | / _ | _| _/ _ / _ "     |`-..________ ..-'| | |___| (_) | | | || __/ __/"     | | ________/|_| |_| ___|___|"     | ;--."     | (__ _____ _ _"     | | ) ) / ____| (_) | |"     | |/ / | (___ ___ _ __ _ _ __ | |_"     | ( / ___ / __| '__| | '_ | __|"     | |/ ____) | (__| | | | |_) | |_"     | | |_____/ ___|_| |_| .__/ __|"      `-.._________..-' | |"                                                         |_|" " .oooooo. ooooo ooooo ooooooooooooo ! d8P' `Y8b `888' `888' 8' 888 `8 ! Mark Wunsch @markwunsch! 888 888 888 ooooo 888 888 888 888 888 888 888 888 888 ! ! ! Exotic Programming Languages and the Web! `88. .88' `Y8bood8P' 888 o888o 888 o o888ooood8 888 o888o ! !
  • 2. var pg = require('pg'); ! //or native libpq bindings! //var pg = require('pg').native! ! var conString = "tcp://postgres:1234@localhost/postgres";! ! // error handling omitted! pg.connect(conString, function(err, client) {! client.query("SELECT NOW() as when", function(err, result) {! console.log("Row count: %d",result.rows.length); // 1! console.log("Current year: %d", result.rows[0].when.getYear());! });! });!
  • 3.
  • 4. •  compiles into JavaScript! •  JavaScript s object model! •  the good parts ! •  It s just JavaScript. !
  • 5. fling = (img) ->! $('body').append img! img.show()! img.css! '-webkit-transform': "rotate(#{rando()}deg)"! 'top': root.parseInt(img.css('top'), 10) - rando 45! 'left': root.parseInt(img.css('left'), 10) - rando 45! 'opacity': 0! root.setTimeout (-> img.hide().remove()), 5000! rando = (multiplier = 10) ->! num = Math.ceil Math.random() * multiplier! if num % 2 then -num else num! skus = (sku for id, sku of order.skus)!
  • 6. if pin.properties.count isnt 1! for order, index in pin.properties.orders when (Date.now() - ! » Date.parse order?.submission_date) > (config.expiration ? 180000)! class Mob! constructor: (@name) ->! ! move: (meters) ->! alert @name + " moved #{meters}m."! ! name = person.name! {name} = person! {name, age} = person! ! tag = "<impossible>"! [open, contents..., close] = tag.split("")!
  • 7. But what about my debugger? Common concerns Compiled?
  • 8. Thanks. Here are some links! •  http://coffeescript.org! •  https://github.com/jash kenas/coffee-script/wiki/List-of-languages-that-compile-to-JS! •  Line Number Mapping: https://github.com/jashkenas/coffee-script/ issues/558! •  Hello World in Dart: https://gist.github.com/1277224! •  Smooth CoffeeScript: http://autotelicum.github.com/Smooth- CoffeeScript/! •  The Little Book on CoffeeScript: http://arcturo.github.c om/library/coffeescript/! Mark Wunsch @markwunsch!