Developpez.com

Le Club des Développeurs et IT Pro

CoffeeScript 1.4.0 disponible

Le langage qui propose une nouvelle syntaxe pour JavaScript améliore son compilateur

Le 2012-11-21 14:50:58, par Hinault Romaric, Responsable .NET
Jeremy Ashkenas, le créateur de CoffeeScript a annoncé la sortie de la version 1.4 du langage dérivé de JavaScript sur son compte Twitter.

Pour rappel, CoffeeScript offre une syntaxe semblable à celles de Python ou Ruby et permet de compiler son code en JavaScript.




Le but de CoffeeScript est de faire abstraction de la syntaxe de JavaScript qui ne reflèterait pas les concepts profonds du langage, dont le noyau et le modèle orienté objet ou fonctionnel sont assez bons.

Parmi les avantages de CoffeeScript par rapport à JavaScript, on note un code moins chargé, moins long à taper, une syntaxe plus claire et plus lisible qui utilise les fonctions et les boucles de manière très compacte, ainsi qu’un mécanisme de classe et d’héritage simplifié.

Cette mise à jour majeure du langage apporte un nouveau compilateur CoffeeScript, qui offre une meilleure prise en charge des fichiers codés au format Microsoft UTF-8 BOM (Byte Order Mark). Cette nouveauté permettra aux développeurs de compiler des fichiers BOM corrompus.

Cette version supprime également registerExtension et passe de path.exists à fs.exists pour mettre fin aux messages d’avertissement dont étaient victimes les développeurs node.js, et apporte plusieurs corrections de bugs rendant l’expérience utilisateur plus agréable.

CoffeeScript 1.4 est téléchargeable sous licence open source MIT sur la plateforme GitHub.

En dehors de CoffeeScript, plusieurs alternatives à JavaScript ont également vu le jour comme Dart de Google ou encore TypeScript de Microsoft. Preuve que JavaScript a de gros problèmes ?

Télécharger CoffeeScript sur GitHub

Notes de version

Source : Twitter Jeremy Ashkenas

Et vous ?

Utilisez-vous CoffeeScript ? Que pensez-vous du langage ?
  Discussion forum
16 commentaires
  • SylvainPV
    Rédacteur/Modérateur
    Envoyé par Watilin
    Si ça continue, on pourra bientôt comparer un intrepréteur JavaScript à une machine virtuelle…
    Ben c'est déjà le cas. Le compilateur JIT dans ton navigateur c'est une machine virtuelle.
  • ptah35
    Membre éclairé
    Envoyé par camus3
    Faut savoir rester critique.
    Je suis entièrement d'accord, mais être critique ne signifie pas se concentrer uniquement sur ce qui ne va pas, il s'agit également d'être capable de voir ce qui est bon.

    Je ne défend pas JavaScript "aveuglément"; il serait absurde de nier que des erreurs de conception ont été commises, mais je reste convaincu que les qualités du langage les compensent amplement. Je ne défends pas non plus JavaScript par dogmatisme; je m'intéresse à tous les langages programmations (je suis d'ailleurs plutôt partisan du typage statique) et je salue toutes initiatives permettant d'élargir le choix des langage de développement pour le Web. Si je le défends JavaScript c'est uniquement parce que je le trouve injustement décrié.

    Il n'en reste pas moins que, bon ou mauvais, JavaScript est incontournable et à moins d'un miracle qui mettrait tous les éditeurs de navigateurs Web d'accord, il l'est pour longtemps encore. Dès lors, à défaut d'avoir ce qu'on aime, il nous reste à aimer ce que l'on a et je maintiens que pour JavaScript c'est possible.
  • SylvainPV
    Rédacteur/Modérateur
    En dehors de CoffeeScript, plusieurs alternatives à JavaScript ont également vu le jour comme Dart de Google ou encore TypeScript de Microsoft. Preuve que JavaScript a de gros problèmes ?
    JavaScript a ses défauts, c'est sûr, mais je ne pense pas qu'il soit "menacé". Pour ma part j'ai testé Dart, TypeScript et CoffeeScript mais aucun ne m'a vraiment convaincu. Les deux premiers sont destinés aux développeurs issus du monde Java pour leur apporter le formalisme POO et quelques autres réflexes (erreurs à la compil et non au runtime).

    Quant à Coffeescript, il a une syntaxe très particulière à laquelle je ne me fais pas du tout. Selon moi un retour chariot ne devrait pas pouvoir remplacer une virgule.

    Avec EcmaScript 6 en approche, une partie des lacunes du JS vont disparaître. Pour le reste, des librairies/frameworks peuvent aider sans nécessiter une étape de compilation.
  • mangobango
    Membre averti
    Bonne nouvelle, je vais tester pour voir si le compilo est moins susceptible.
    Pour un pythonien, Coffeescript facilite grandement le passage et on retrouve nos marques de POO. J'ai besoin de faire du JS en ce moment et autant JS me colle aux doigts et est verbeux par bien des aspects selon moi, autant Coffeescript coule de source. Alors je code en CS, compile, test et déploie du JS. Ni vu ni connu, hahaha

    Daniel
  • nicorama
    En attente de confirmation mail
    Coffescript répond très bien aux problèmes de Javascript. Je ne suis pas ultra fan de sa syntaxe car j'aime bien les accolades, mais un langage, ça s'apprend.

    Sinon l'analyse est bonne :
    On évite les résultats "bizarres" de JS
    On évite les fonctions peu lisibles
    C'est bien supporté par IntelliJ
    Le compilateur sort du JS lisible
    Il y a maintenant SourceMap pour debuguer dans Chrome
    RequireJS et Backbone marchent comme un ange

    Bref, c'est cool Reste à faire de vrais projets avec, et je m'y met le mois prochain.
  • camus3
    Membre éprouvé
    L'étape de compilation peut se faire automatiquement via l'utilitaire coffee :

    Code :
    coffee -d coffee -cwb js
    tout les fichiers du dossier coffee seront compilés dans le dossier js automatiquement.

    Coffeescript ne remplace pas javascript , puisqu'il faut connaitre javascript pour l'utiliser. Par contre il corrige ses défauts et offre des macros permettant de coder plus rapidement et sans bruit ( accolades, paranthèse, virgules, point virgules,etc ... )
  • hotcryx
    Membre extrêmement actif
    Nécessité de connaître 2 ou 3 langages pour pouvoir générer convenablement le javascript ^^
  • Watilin
    Expert éminent
    Selon moi, CoffeeScript fait partie de ces doux rêves qui finissent par avoir une certaine influence et inspirer des changements. J'aime bien l'idée. Après, on peut se demander si c'est vraiment utilisable en dehors du cadre d'un petit projet personnel.

    C'est intéressant de remarquer combien les compilateurs vers JavaScript se multiplient récemment. Comme si JavaScript était un langage intermédiaire, un peu comme le Bytecode Java. Si ça continue, on pourra bientôt comparer un intrepréteur JavaScript à une machine virtuelle…
  • camus3
    Membre éprouvé
    Après, on peut se demander si c'est vraiment utilisable en dehors du cadre d'un petit projet personnel.
    Coffeescript est utilisable et est déjà utilisé dans de gros projets commerciaux et open source, il permet de se concentrer sur le code à écrire et non la façon d'utiliser les closures pour émuler telle ou telle idiom de la POO ou structure de données, il passe le test jslint sans erreurs, et expose uniquement les "good parts" de javascript. D'ou un code d'e meilleurs qualité pratiquement gratuitement.

    Quant à Coffeescript, il a une syntaxe très particulière à laquelle je ne me fais pas du tout. Selon moi un retour chariot ne devrait pas pouvoir remplacer une virgule.
    Si tu parles de la déclaration d'un objet , libre à toi de mettre une virgule ou non , comme des parenthèse ou non autours des arguments d'un fonction lors d'un appel. Tout ce qui n'est pas indispensable sémantiquement devrait être optionnel syntaxiquement.
  • hotcryx
    Membre extrêmement actif
    Javascript est difficilement détrônable maintenant.
    Vbscript est mort et JS est impliqué dans de grosses librairies/technos comme ajax, jquery/jquery mobile, json... mais comme il est incomplet (pour l'instant), d'autres viennent s'y greffer.

    Bha, ça donne du boulot à plein de monde, on ne va pas s'en plaindre (c'est le côté positif)