Est-ce que CoffeeScript a une ambition de performance ? (Quelque part, puisqu'on parle d'un langage qui génère du JS, qui tourne le plus souvent sur un navigateur, je suppose que non, ou en tout cas qu'on estime que le code généré a une performance acceptable sans être nécessairement proche d'optimale). De ce que j'en avais vu, CoffeeScript est « à peine » (en exagérant un peu j'avoue) plus haut niveau que JavaScript, ce qui aide aussi je pense.
Si ton but est de générer du code lisible, alors oui tu vas faire un effort pour la génération de code. Mais dans 90% des cas (et je suis généreux, il faudrait plutôt parler de 99%), tu cherches à générer du code-tout-court, voire à générer du code-qui-va-vite. Autant générer du code qui reprend le nom des variables du programme original n'est pas trop compliqué (au pire, tu t'en sers comme d'un préfixe et tu rajoutes des indices si tu dois générer des formes intermédiaires), autant générer du code qui doit créer de nouvelles variables qui ne sont pas utiles dans le langage de plus haut niveau va généralement impliquer l'utilisation d'une variable « anonyme » avec un bête compteur (parce que tout bêtement ton compilateur n'en sait généralement pas assez au niveau de la sémantique du programme pour donner un nom qui fait sens dans un contexte donné).
Et enfin, même à la main, lorsqu'on commence à réellement optimiser le code généré (je ne suis pas sûr que ce soit l'objectif de ce projet, mais ça pourrait arriver à terme), alors il est quasiment impossible d'obtenir du code lisible. Ou plus exactement : il est lisible pour qui comprend les optimisations appliquées — et encore.
PS: oui je chipote et je trolle, mais il est « à peine » vendredi ici. :-)
[^] # Re: logique pour Google
Posté par lasher . En réponse au journal Grumpy : un nouveau concurrent à pythran. Évalué à 4.
Est-ce que CoffeeScript a une ambition de performance ? (Quelque part, puisqu'on parle d'un langage qui génère du JS, qui tourne le plus souvent sur un navigateur, je suppose que non, ou en tout cas qu'on estime que le code généré a une performance acceptable sans être nécessairement proche d'optimale). De ce que j'en avais vu, CoffeeScript est « à peine » (en exagérant un peu j'avoue) plus haut niveau que JavaScript, ce qui aide aussi je pense.
Si ton but est de générer du code lisible, alors oui tu vas faire un effort pour la génération de code. Mais dans 90% des cas (et je suis généreux, il faudrait plutôt parler de 99%), tu cherches à générer du code-tout-court, voire à générer du code-qui-va-vite. Autant générer du code qui reprend le nom des variables du programme original n'est pas trop compliqué (au pire, tu t'en sers comme d'un préfixe et tu rajoutes des indices si tu dois générer des formes intermédiaires), autant générer du code qui doit créer de nouvelles variables qui ne sont pas utiles dans le langage de plus haut niveau va généralement impliquer l'utilisation d'une variable « anonyme » avec un bête compteur (parce que tout bêtement ton compilateur n'en sait généralement pas assez au niveau de la sémantique du programme pour donner un nom qui fait sens dans un contexte donné).
Et enfin, même à la main, lorsqu'on commence à réellement optimiser le code généré (je ne suis pas sûr que ce soit l'objectif de ce projet, mais ça pourrait arriver à terme), alors il est quasiment impossible d'obtenir du code lisible. Ou plus exactement : il est lisible pour qui comprend les optimisations appliquées — et encore.
PS: oui je chipote et je trolle, mais il est « à peine » vendredi ici. :-)