• [^] # Re: soit dit en passant

    Posté par . En réponse au journal Réflexion sur ASM.js ou quand le javascript deviens enfin performant :. Évalué à -4.

    Non, j'ai parfaitement compris ta phrase, mais tu mets trop de poids dans la mienne : il était important que JS soit lent pour pouvoir exister au départ, pour pouvoir être adopté comme langage embarqué, et il n'y avait absolument aucun projet de l'accélérer un jour.

    On parle ici d'une décision historique, c'est-à-dire d'un contexte, de besoins précis, d'une idée qu'on se faisait de la chose naissante qu'était le web - du respect de l'équilibre client/serveur et de leurs ressources respectives.

    Bien sûr que Brendan Eich ne s'est pas regardé dans la glace le matin en se demandant comment rendre ses constructions syntaxiques les plus lentes possibles. Il n'en avait pas besoin parce que de toute manière, implémenter un langage lent était ce qu'il y avait de plus rapide à faire - il ne faut pas oublier que tout ça se passe sur un coin de table, à toute allure, chez Netscape. Mais cette lenteur arrangeait tout le monde, parce qu'elle rassurait sur la non-exploitabilité du langage. Cela devait rester un jouet aux yeux des "programmeurs sérieux".

    Il aurait été complètement impensable d'interfacer un langage puissant avec le DOM, sans aucun garde-fou, alors que c'était la chose la plus simple à faire - ils auraient parfaitement pu passer un arrangement pour interfacer Java plus directement puisqu'ils étaient cul et chemise avec Sun, mais tout le monde les aurait pris pour des fous.

    Tout comme on laisse une petite cuiller à des prisonniers, mais pas un marteau piqueur, parce qu'on se dit qu'il leur faudra quand même un bout de temps pour creuser un tunnel, JS était intentionnellement lent.

    Je te traduits un bout d'interview de Eich pour infoworld (comme ça, je réponds aussi indirectement à la demande de citation de source, plus bas) :

    "
    InfoWorld: Dans quel but avez-vous développé JavaScript ?

    Eich: L'idée était de faire quelque chose que les développeurs Web, des gens qui n'avaient pas forcément beaucoup d'expérience de la programmation, pourraient utiliser pour ajouter un tout petit peu d'animation, ou un tout petit peu d'interactivité, à leurs formulaires et à leurs pages Web.

    Bon, on est en 1995, le Web en est à ses premiers balbutiements. HTML en était à 3.2, je crois, ou quelque chose d'approchant. Les gens n'avaient pas beaucoup de programmabilité à disposition. Java arrivait au même moment mais ça demandait d'apprendre un langage de programmation sophistiqué, puis de faire tourner un compilateur et de mettre votre code dans un paquet qui devenait une applet qui faisait alors partie de la page, mais qui était dans un petit silo. Il était entouré de murs en quelque sorte.

    Et puis c'était dur—c'était pour les programmeurs professionnels. On pensait que c'était pour faire les visites virtuelles d'agences immobilières ou des trucs puissants comme ça. Alors que JavaScript, c'était juste 3 lignes que vous pouviez écrire, que vous pouviez copier sur quelqu'un, et que vous pouviez apprendre sur le tas. Vous n'aviez pas à apprendre tout le langage pour l'utiliser - ça pouvait se faire au coup par coup.

    Cette idée était apprement défendue par Marc Andreessen et moi-même. Bill Joy, de chez Sun, était son plus ardent défenseur, ce qui était utile parce que c'est comme ça qu'on a trouvé le nom. Et on le promouvait comme le petit frère de Java, un langage complémentaire, un peu ce que Visual Basic était au C++ dans la gamme des langages de Microsoft à l'époque. Et ça a pris. Et on l'a sorti à temps.
    "

    Bon j'ai bien mouillé la chemise là :-)
    Je pensais que tout ça était encore bien connu, mais je m'aperçois que l'idée moderne du web déforme beaucoup celle qu'on se fait de ses origines.