CoffeeScript est un langage qui se compile en JavaScript (
licence MIT). Il vise à proposer une syntaxe alternative, plus agréable, au JavaScript, mais reste très proche de celui-ci au niveau de la sémantique.
Par exemple, le code coffee suivant :
square = (x) -> x * x
square 42
se compilera de la façon suivante en JavaScript :
square = function(x) {
return x * x;
};
square(42);
Ainsi, CoffeeScript permet d'éliminer les caractères ou constructions disgracieuses du JavaScript pour n'en garder que
les bonnes parties. Une autre volonté derrière CoffeeScript est de rester proche du JavaScript. Cela permet de débugger facilement du JavaScript généré par coffee, d'autant plus que le code en question est correctement indenté et passe
JS Lint sans avertissement.
CoffeeScript existe depuis un an et vient de passer en version 1.0 pour Noël. Son utilisation se répand (exemples de projets écrits avec CoffeeScript :
un client Riak,
une bibliothèque pour scanner des chaînes de caractères,
un équivalent de Rack pour Node.js et
un jeu de tanks). Le succès de CoffeeScript est tel que le comité d'EcmaScript,
Brendan Eich en tête, travaille à améliorer la syntaxe du JavaScript en s'inspirant de CoffeeScript de manière ouverte.