Presentación CoffeeScript

Post on 19-Jun-2015

174 views 5 download

description

Una pequeña introducción al lenguaje de programación CoffeeScript

Transcript of Presentación CoffeeScript

Autores Rodrigo

Manjón Martín

Maria Del Alba

Pedrajas Porras

David

Rodríguez Terradillos

Índice

● Introducción JS y CoffeeScript

● Instalación y Uso

● Sintaxis

● Demo

12,3%

IntroducciónJavaScript fue creado por Brendan Eich, programador de Netscape en 1995. Surgio por la necesidad de un lenguaje de programacion que se ejecutara en el mismo navegador para hacer los procesos de validacion de formularios mas rapidos.

Fue relegado por unos anos debido a que era visto como un lenguaje complejo.

Introducción

Ajax devolvio a JavaScript empuje y fama con la creacion de nuevos frameworks y librerıas, aumentando tambien el uso.

Y sobre todo el libro de Douglas Crockford JavaScript: The Good Parts que se hizo muy popular.

IntroducciónCoffeeScript, creado por Jeremy Ashkenas, nace como pequeno lenguaje de programacion que compila a Javascript.

Esto supone una gran ventaja, JavaScript es un lenguaje complejo, de difıcil comprension, no existen clases y la orientacion a objetos se hace complicada de llevar a cabo.

CoffeeScritp es un lenguaje sencillo basado en Syntactic Sugar.

Instalación y Uso

28,7%

Instalación

> nmp install -g coffee-script

Instalación

$ brew update

$ brew install node

$ nmp install -g coffee-script

&

Como se Usa (Compilar)

# Compilar un fichero$ coffee --compile file.coffee

# Compilar directorio$ coffee --compile --output /lib /src

# Compilar Automaticamente$ coffee --watch --compile file.coffee

Como se Usa (REPL)

# Usar el evaluador Read Eval Print Loop

$ coffee

Sintaxis

49,2%

Funciones

square = (x) -> x * x

cube = (x) -> square(x)*x

Funciones

fill=(container, liquid = “coffee”) ->“Filling the #{container} with #{liquid}”

Arrays y Objetos

song = ["do", "re", "mi", "fa", "so"]

singers = {Jagger: "Rock", Elvis: "Roll"}

bitlist = [1, 0, 11, 0, 11, 1, 0

]

Arrays y Objetos

kids = brother:

name: “Max”age: 11

sister:name: “Ida”age: 19

65,6%

if, else, unlees y

Asignamiento Condicional

mood = greatlyImproved if singing

date = if friday then sue else jill

if, else, unlees y

Asignamiento Condicional

if happy and knowsIt clapsHands()chaChaCha()

elseshowIt()

#Eat launch.eat food for food in ['toast', 'cheese', 'wine']

# Fine five course dining.courses = ['greens','caviar','truffles','roast','cake'] menu i + 1, dish for dish, i in courses

Bucles y Comprehention

77,9%

# Health conscious meal.foods = ['broccoli', 'spinach', 'chocolate']eat food for food in foods when food isnt ‘chocolate’

#Key-Value interacting.yearsOld = max: 10, ida: 9, tim: 11ages = for child, age of yearsOld

"#{child} is #{age}"

Bucles y Comprehention

buy() while supply > demand sell() until supply > demand

num = 6lyrics = while num -= 1

“#{num} little monkeys, jumping on the bed.”

Bucles y Comprehention

Demo

90,2%

https://github.com/rodrimmbdev/dni_coffee.git

¿Dudas?

94,3%

Gracias

100%