CoffeeScript

Un article de Wikipédia, l'encyclopédie libre.
Aller à : Navigation, rechercher
CoffeeScript
Logo.

Apparu en 13 décembre 2009
Auteur Jeremy Ashkenas
Dernière version 1.6.2 (18 mars 2013) [+/−]
Paradigme Multi-paradigme
Typage Dynamique, faible
Influencé par JavaScript, Python, Ruby, Haskell[1], YAML[2]
A influencé MoonScript
Système d'exploitation Multiplate-forme
Licence Licence MIT
Site web coffeescript.org

CoffeeScript est un langage de programmation, qui se compile en JavaScript. Le langage ajoute du sucre syntaxique inspiré par Python, Ruby et Haskell[1] afin d'améliorer la brièveté et la lisibilité du JavaScript, tout en ajoutant des fonctionnalités comme le filtrage par motif ou les listes en compréhension.

Le résultat est compilé de façon prévisible en JavaScript, et les programmes peuvent être écrits avec moins de code (typiquement un tiers de lignes en moins) sans effet sur la vitesse d'exécution[3]. Depuis le 16 mars 2011, CoffeeScript est dans la liste des projets les plus populaires de GitHub[4].

Le langage a une popularité relativement importante dans la communauté de Ruby. Le support de CoffeeScript est inclus dans la version 3.1 de Ruby on Rails[5]. De plus, Brendan Eich a cité CoffeeScript comme une influence sur son idée du futur du JavaScript[6],[7].

Sommaire

Histoire [modifier]

Le 13 décembre 2009, Jeremy Ashkenas a effectué le premier commit Git de CoffeeScript avec le commentaire : « initial commit of the mystery language » (« premier commit du langage mystère »)[8]. Le compilateur était écrit en Ruby. Le 24 décembre 2009, il a publié la première version numérotée et documentée, la 0.1.0. Le 21 février 2010, le version 0.5 a été publiée, remplaçant le compilateur Ruby par un compilateur écrit en pur CoffeeScript. À ce moment, le projet a attiré plusieurs autres contributeurs sur GitHub, et les pages du site étaient vues plus de 300 fois par jour.[réf. souhaitée]

Le 24 décembre 2010, Ashkenas a annoncé la publication de la version stable 1.0.0 sur Hacker News, le site où le projet a été annoncé pour la première fois[9],[10].

Exemples [modifier]

Le code javascript permettant d'initialiser la bibliothèque jQuery est :

$(document).ready(function() {
  // Le code d'initialisation va ici
});

Ou, plus simplement :

$(function() {
  // Le code d'initialisation va ici
});

En CoffeeScript, le mot-clé function est remplacé par le symbole ->, et l'indentation est utilisée à la place des accolades, comme en Python ou en Haskell. Les parenthèses peuvent généralement être omises. Ainsi, le snippet ci-dessus peut être écrit, en CoffeeScript :

$(document).ready ->
  # Le code d'initialisation va ici

Ou bien :

$ ->
  # Le code d'initialisation va ici

Compilation [modifier]

Le compilateur CoffeeScript est écrit en CoffeeScript depuis la version 0.5 et est disponible en tant qu'utilitaire Node.js ; cependant, la base du compilateur ne nécessite pas Node.js et peut être utilisée dans n'importe quel environnement JavaScript[11]. Une des alternatives à l'utilitaire Node.js est Coffee Maven Plugin, un plugin pour le moteur de production Apache Maven. Ce plugin utilise Mozilla Rhino, un moteur JavaScript écrit en Java.

Le site officiel, CoffeeScript.org, dispose d'un bouton « Essayer CoffeeScript » dans la barre de navigation ; cliquer dessus ouvre une fenêtre modale qui permet d'entrer du code CoffeeScript, de voir le résultat en JavaScript, et de l'essayer directement dans le navigateur. Le site jscoffee propose une traduction bidirectionnelle.

Notes et références [modifier]

  1. a et b The Changelog. Épisode 0.2.9 - CoffeeScript with Jeremy Ashkenas, Jul 23, 2010
  2. (en) Martin Heller, « Turn up your nose at Dart and smell the CoffeeScript », JavaWorld, InfoWorld, 18 octobre 2011 [texte intégral (page consultée le 9 février 2012)] 
  3. Read Write Hack. « Interview with Jeremy Ashkenas » (ArchiveWikiwixQue faire ?). Consulté le 2013-04-12, Jan 7, 2011
  4. Github. Popular Watched Repositories
  5. Peek, Joshua. Tweet by Rails Core Team Member on Apr 13, 2011
  6. Eich, Brendan. "Harmony of My Dreams"
  7. Eich, Brendan. "My JSConf.US Presentation"
  8. Github. 'initial commit of the mystery language'
  9. Hacker News. Annonce de CoffeeScript 1.0.0 publiée par Jeremy Ashkenas le 24 décembre 2010
  10. Hacker News. Annonce originale de CoffeeScript publiée par Jeremy Ashkenas le 24 décembre 2009
  11. http://jashkenas.github.com/coffee-script/#installation

Voir aussi [modifier]

Articles connexes [modifier]

Liens externes [modifier]