Vés al contingut

CoffeeScript

De la Viquipèdia, l'enciclopèdia lliure
Aquesta és una versió anterior d'aquesta pàgina, de data 09:54, 5 abr 2013 amb l'última edició de KLBot2 (discussió | contribucions). Pot tenir inexactituds o contingut no apropiat no present en la versió actual.
Infotaula de llenguatge de programacióCoffeeScript
Tipusllenguatge de programació, llenguatge de regles fora de joc, format de fitxer, Transcompilador, biblioteca de JavaScript, llenguatge de programació multiparadigma, llenguatge imperatiu, programació funcional, programació orientada a aspectes i Programació basada en prototips Modifica el valor a Wikidata
Data de creació2009
DissenyJeremy Ashkenas
DesenvolupadorJeremy Ashkenas, et al.
Paradigma de programacióMultiparadigma: basat en prototipus, funcional, imperatiu, script
Darrera versió estable1.3.1 / Abril 10, 2012; fa 13 anys (2012-04-10)
Llenguatge de programacióCoffeeScript Modifica el valor a Wikidata
Influenciat perHaskell,[1] JavaScript, Perl, Python,[1] Ruby,[1] YAML[2]
Ha influenciatMoonScript
Sistema operatiuMultiplataforma
Extensió dels fitxerscoffee Modifica el valor a Wikidata
Codi fontCodi font i Codi font Modifica el valor a Wikidata
LlicènciaMIT
Etiqueta d'Stack ExchangeEtiqueta Modifica el valor a Wikidata
Pàgina webcoffeescript.org

CoffeeScript és un llenguatge de programació que transcompila a JavaScript. El llenguatge afegeix sucre sintàctic inspirant en Ruby, Python i Haskell[1] per augmentar la llegibilitat i la brevetat del JavaScript's alhora que afageix característiques més sofisticades com llistes per comprensió i encaix de patrons. CoffeeScript compila de manera predictiva a JavaScript i els programes es poden escriure amb menys codi; típicament amb un 1/3 menys de línies sense cap efecte en el rendiment.[3] Des del 16 de març de 2011 CoffeeScript ha estat inclós a la llista dels projectes més vigilats de GitHub[4] i a 24 de maig de 2012 és el desè llenguatge més popular a GitHub.[5]

El llenguatge té molts seguidors de la comunitat de Ruby; des de la versió 3.1 Ruby on Rails té suport per a CoffeeScript.[6] A més a mes, Brendan Eich ha dit que CoffeeScript és una influència en la seva idea pel futur del JavaScript.[7][8]

Història

El 13 de desembre de 2009 en Jeremy Ashkenas va fer la primera revisió al dipòsit git amb el següent comentari: «revisió inicial del llenguatge misteriòs.»[9] Va escriure el compilador en Ruby. el 24 de desembre del mateix any va fer la primer etiqueta i versió documentada, 0.1.0. El 21 de febrer de 2010 va fer la versió 0.5 que reemplaça el compilador fet amb Ruby per un fet amb CoffeeScript mateix. Ja aleshores el projecte havia atret força contribuïdors a GitHub i rebia més de 300 visites al dia.

El 24 de desembre de 2010 Ashkenas va anunciar la publicació de la versió estable a Hacker News, el lloc on el projecte es va anunciar per primer lloc.[10][11]

Sintaxi

Moltes de les declaracions de JavaScript es poden fer servir amb CoffeeScript, com per exemple if, switch i for. Aquestes instruccions també tenen versions postfix.

Un principi general és el d'eliminar tots els parèntesis i claus que són innecessaris perquè es pot fer servir sagnat en comptes de claus per delimitar blocs de codi, les crides a funcions són implícites (es poden treure els parèntesis que es fan servir per fer una crida amb JavaScript) i objectes literals sovint es detecten automàticament entre d'altres.

Exemples

Un fragment comú que utilitza jQuery és:

$(document).ready(function() {
  // Codi d'inicialització
});

O simplement

$(function() {
  // Codi d'inicialització
});

En CoffeeScript la paraula clau function s'ha substituït pel símbol -> i s'utilitza el sagnat en comptes de les claus, com ara fan llenguatges com Python i Haskel. També es poden ometre els parèntesis. Així doncs el fragment equivalent en CoffeeScript del de dalt és:

$(document).ready ->
  # Codi d'inicialització

O:

($ document).ready ->
  # Codi d'inicialització

També es pot simplificar una mica més:

$ ->
  # Codi d'inicialització

Compilació

Des de la versió 0.5 el compilador de CoffeeScript és escrit en CoffeeScript i disponible com una utilitat de Node.js; Tanmateix el nucli del compilador no depèn de Noded.js i es pot executar sota qualsevol entorn de JavaScript.[12] Una alternativa a Node.js és el Plugin Coffee de Maven, un plug-in pel popular sistema de compilació Apache Maven. El plug-in utilitza el motor fet en Java de JavaScript Rhino.

La plana oficial de CoffeeScript.org té un botó de «Prova CoffeeScript» a la barra de menú amb el que s'obre una finestra modal amb la que els usuaris poden escriure codi en CofeeScript, veure el resultat en JavaScript i executar-lo directament al navegador. El lloc web js2coffee[13] ofereix una traducció bi-direccional.

Referències

  1. 1,0 1,1 1,2 1,3 The Changelog. Episode 0.2.9 - CoffeeScript with Jeremy Ashkenas, July 23, 2010
  2. Heller, Martin «Turn up your nose at Dart and smell the CoffeeScript». JavaWorld. InfoWorld, 18-10-2011 [Consulta: 9 febrer 2012].
  3. Read Write Hack. Interview with Jeremy Ashkenas, Jan 7, 2011
  4. Github. Popular Watched Repositories
  5. GitHub. CoffeeScript
  6. Peek, Joshua. Tweet by Rails Core Team Member on Apr 13, 2011
  7. Eich, Brendan. "Harmony of My Dreams"
  8. Eich, Brendan. "My JSConf.US Presentation"
  9. Github. 'revisió inicial del llenguatge misteriòs'
  10. Hacker News. CoffeeScript 1.0.0 announcement posted by Jeremy Ashkenas on Dec 24, 2010
  11. Hacker News. Original CoffeeScript announcement posted by Jeremy Ashkenas on Dec 24, 2009
  12. http://jashkenas.github.com/coffee-script/#installation
  13. «jscoffee».

Enllaços externs