Coffeescript - take a sip of code

21
CoffeeScript Unfancy JavaScript

description

This is an intro presentation to the new and awesome language, Coffeescript. See the presentation for more details.

Transcript of Coffeescript - take a sip of code

Page 1: Coffeescript - take a sip of code

CoffeeScriptUnfancy JavaScript

Page 2: Coffeescript - take a sip of code

Dimitris Tsironis

CEO & Founder at Geembo

UI designer & huge geek, who loves good design and french fries, as much as good indentation in a stylesheet.

@tsironakos

Page 3: Coffeescript - take a sip of code

Jeremy AshkenasInteractive News at the NYTimes / DocumentCloud • Creator of CoffeeScript + Backbone.js • Code is Literature

Page 4: Coffeescript - take a sip of code

CoffeeScript is a little languagethat compiles into Javascript

Page 5: Coffeescript - take a sip of code

It’s just Javascript!

Page 6: Coffeescript - take a sip of code

Code is poetry...

Page 7: Coffeescript - take a sip of code

A beautiful programming language

Least amount of code to get the job done

Readable and understandable

Easy to maintain

well, should have elegant and beautiful form

Page 8: Coffeescript - take a sip of code

Let’s see some code!

Page 9: Coffeescript - take a sip of code

Variables

var message; message = “Ready for some coffee?”; alert(message);

CoffeeScript

JavaScript

coffee = -> confirm “Ready for some coffee?”

Functions

var coffee = function() { return confirm(“Ready for some coffee?”); }

CoffeeScript

JavaScript

message = “Ready for some coffee?” alert(message)

Page 10: Coffeescript - take a sip of code

Example

CoffeeScript

var coffee; coffee = function() { var answer; answer = confirm(“Ready for some coffee?”); return “Your answer is ” + answer; }

JavaScript

coffee = -> answer = confirm “Ready for some coffee?”

“Your answer is ” + answer

or “Your answer is #{answer}”

Page 11: Coffeescript - take a sip of code

Function Parameters

CoffeeScript

var coffee; coffee = function(message) { var answer; answer = confirm(message); return “Your answer is “ + answer; }

JavaScript

coffee = (message) -> answer = confirm message

“Your answer is #{answer}”

Page 12: Coffeescript - take a sip of code

Optional Parameters

CoffeeScript

var coffee; coffee = function(message) { var answer; if (message == null) { message = “Ready for some coffee?”; } answer = confirm(message); return “Your answer is “ + answer; }

JavaScript

coffee = (message = “Ready for some coffee”) -> answer = confirm message

“Your answer is #{answer}”

Page 13: Coffeescript - take a sip of code

Applied jQuery

CoffeeScript

jQuery(function($) { function changeTab(e) { e.preventDefault();\ $(“#tabs li a.active”).removeClass(“active”); $(this).addClass(“active”); } $(“#tabs ul li a”).click(changeTab);});

jQuery

$ -> changeTab = (e) -> e.preventDefault() $(“#tabs li a.active”).removeClass “active” $(@).addClass “active” $(“#tabs ul li a”).click changeTab

Page 14: Coffeescript - take a sip of code

You get the idea

Page 15: Coffeescript - take a sip of code

hubot, make me some coffee please!

Page 16: Coffeescript - take a sip of code

Hubot is your company's robot.Install him in your company to dramatically

improve and reduce employee efficiency.

Page 17: Coffeescript - take a sip of code

What he/she does

Lives in your chat (Campfire, GTalk, Hipchat etc.)

Deploys your code

Connect to your issues, commits etc.

Finds funny cat gifs

Integrates with almost every service on Earth

Manages the playlist in your office

everything you could imagine!

Page 18: Coffeescript - take a sip of code

Written in CoffeeScript(and some Perl and Shell)

Page 19: Coffeescript - take a sip of code

we have our own hubot

Meet Geembot!

Page 20: Coffeescript - take a sip of code

Open source & expandable(original written by Github Inc.)

Page 21: Coffeescript - take a sip of code

Thanks!

Follow me

@geembohq

@tsironakos