Un avenir pour CoffeeScript avec ECMAScript 6 ?

Cet article a été publié depuis plus de 6 mois, cela signifie que le contenu peut ne plus être d'actualité.

Il y a quelques années, j'ai découvert CoffeeScript (un langage qui se compile en Javascript) et j'ai tout de suite été séduit. Ecrire du code Javascript est devenu plus rapide et surtout CoffeeScript a ajouté certaines fonctionnalités très plaisantes telles que les classes, les proxies, les générateurs et d'autres encores.

Apparu en 2009, CoffeeScript répondait à un réel besoin de simplification et d'évolution de Javascript. Seulement aujourd'hui Javascript évolue et la nouvelle spécification du langage (ECMAScript 6) comporte de nombreux ajouts qui ont fait le succès de Coffee. Cela à tel point que l'on peut être amené à se demander si CoffeeScript a encore un avenir.

J'ai beau réellement accrocher à CoffeeScript, pour moi la réponse est clairement "non". Je pense réellement que la nouvelle spécification de Javascript rend obsolète CoffeeScript car les apports majeurs du langage seront maintenant natifs. La chose qui le différenciera sera sa syntaxe, mais ce n'est pour ma part pas un argument suffisant.

Seulement voilà, à l'heure actuelle, ECMAScript 6 n'est pas encore finalisé. Et bien que principaux navigateurs comment à implémenter certaines fonctionnalités, la couverture des spécifications est encore faible.

Il existe néanmoins des outils (transpileurs) qui vous permettent d'écrire du code ECMAScript 6 pour le traduire dans la version 5 du langage (qui est la version) actuellement supporté par les navigateurs. Parmi les outils les plus connus, on peut citer traceur et 6to5.

Donc à la question que faire maintenant, doit-on utiliser CoffeeScript ou commencer à utiliser ECMAScript 6 via un transpileur ? Personnellement, pour un projet qui devra durer dans le temps et pour lequel je parie sur l'avenir, j'utiliserais sans hésiter un transpileur car pour moi CoffeeScript est réellement sur sa fin de vie.