« Pourquoi JavaScript n’est pas un concurrent digne de ce nom »

Avik Chaudhuri, expert en design de langage de programmation chez Adobe, écrit un article trollesque sur son blog intitulé « Le Mythe du V8 : Pourquoi JavaScript n’est pas un concurrent digne de ce nom » :

Les programmes en JavaScript sont non typés, (relativement) petits et sont publiés/chargés comme du code source, puis compilés et exécutés à la volée. En comparaison, les programmes en ActionScript sont typés, (relativement) gros et sont compilés en code binaire, publiés/chargés en code binaire, puis exécutés à la volée.

Il y a quelque chose d’intrinsèquement mauvais dans un débat qui se base sur le fait que JavaScript peut faire tout ce lourd travail après chargement, et aussi bien, si ce n’est mieux, qu’un langage qui a l’opportunité de faire tout ce lourd travail avant le pré-chargement. Ce qui ne va pas dans un tel argument est qu’il repose sur, qu’il dépends de la magie. Malheureusement, tôt ou tard, on apprends tous que le père Noël n’existe pas : la question est, peut-on faire ça plus tôt ?

Basé sur le même argument, alors PHP ne serait pas un langage digne de ce nom en comparaison avec du .NET. Dans son argument, Avik oublie également de mentionner qu’il compare JavaScript, un langage ouvert inclus par défaut dans un navigateur, à ActionScript, un langage propriétaire nécessitant un plugin pour fonctionner. La conclusion de son article m’a fait beaucoup rire.

Alors, arrêtons de nous en faire avec JavaScript, et visons plus haut. Alors qu’on se concentre sur le jeu, les programmes en ActionScript nécessiteront de meilleures optimisations pour la performance. ActionScript a le bon mélange d’ADN pour réussir, et il deviendra le langage du 21ème siècle qu’il aurait toujours pu être.

Et le tout, mesdames et messieurs, via un plugin (Flash Player) qui prends pourtant 100% des ressources de mon processeur dès le moindre affichage de bannière publicitaire. Ça, c’est de la magie.

  1. Maxime, le

    A mon avis tu passes complètement à coté du débat, qui est qu’un langage typé et compilé (comme ActionScript, Java, C, C++, C#, etc…) apporte plus de puissance qu’un language de script non typé compilé JIT.
    En plus ActionScript c’est Ecmascript 4, et la VM Tamarin est Open Source, donc tes remarques sur le coté propriétaire sont à coté de la plaque !
    Enfin croire qu’un programme lourd ou manipulant beaucoup de graphismes en Javascript va laisser ton CPU se reposer, c’est ça croire au père noël ;-)

  2. n!co, le

    Et c’est pas du troll ca ? ;-)
    L’article tres détaillé avik, explique justement que chaque cas d’utilisation doit avoir son langage.
    javascript et html5 sont tres bien adaptés au web, mais en tant que dev d’appli metier, je ne pourrais imaginer coder en javascript dans sa forme actuelle.
    Deux langages, deux usages.

    Viens l’autre debat de la plateforme d’execution, as3 nest pas l’entiere excusivite du flash player (ou air) et je te paris que les mois a venir devoilerons de belles choses …

  3. n!co, le

    Je tiens a preciser que je ne suis pas aussi charmant que sur ces avatars ;)

  4. lionel, le

    huhu , ça faisait longtemps que t’avais pas trollé sur flash… ;) par contre je vois pas bien le rapport entre les perfs et le coté ouvert / fermé de l’environnement d’exécution du code, mais c’est sur ça doit aussi jouer, comme l’age du capitaine!

  5. Rémi, le

    Si je parlais du côté fermé de Flash, c’est parce qu’à mon avis la comparaison faite par le monsieur d’Adobe en premier lieu ne tient pas debout. Il compare un langage fermé exécuté dans un plugin fermé à un langage ouvert natif aux navigateurs. Une comparaison plus honnête aurait été face à un autre plugin fermé, comme par exemple le NativeClient de Google. Et là je suis pas sûr qu’ActionScript fasse le poids face à du C++.

  6. Florian, le

    Maxime a complètement raison de relevé ton argumentaire bidon, qui consiste à dire que ces langages ne peuvent pas être comparés car un serait ouvert et l’autre non.
    Ainsi, on ne pourrait plus comparer du .NET à du Java? ahah, laisse moi rire.

    De toute façon, comme d’habitude, ta haine envers le flash t’empêches d’avoir un point de vue objectif sur la situation et décrédibilise plus l’image de ce site qu’autre chose.

    Dommage, car les autres articles qui ne traitent pas du (faux) débat html5/flash, sont généralement intéressants!

  7. lionel, le

    @remy, tu te trompes encore dans ton exemple, le but de l’article du gars d’adobe n’est pas de statuer qui « à la plus grosse » ou le meilleur plugin mais de démontrer pourquoi un paradigme d’exécution et meilleur qu’un autre, le tout avec des bench pour démontrer ses propos. Après savoir qu’elle est la meilleur technos à base de plugin, c’est une autre histoire…