Je viens d'un milieu de biologie scientifique où nous utilisons également beaucoup Python.
Maintenant que j'ai commencé à développer le Web, je me suis toujours demandé pourquoi il s'agissait du fait que JavaScript est le principal langage côté client sur le Web.
La prédominance de JavaScript est-elle un accident historique ou autre chose? De plus, je suis curieux de savoir s'il existe des obstacles à l'intégration de Python dans les scripts côté client?
vote to close
si vous sentez que c'est hors sujet. Si d'autres ressentent la même chose, soit eux, soit un modérateur, suivront votre exemple.Réponses:
JavaScript a été le premier langage de script à être mis à disposition dans un navigateur Web populaire, il a donc été implémenté presque universellement. Étant le seul langage de programmation disponible dans tous les navigateurs populaires, il n'y avait pas d'autre choix que d'être le langage de programmation côté client prédominant.
Internet Explorer a implémenté JavaScript d'une manière qui autorise les moteurs de script enfichables (il est venu avec VBScript et JScript). Si vous préférez (comme je l'ai fait) pour écrire votre code en PerlScript ou PythonScript, vous pourriez, mais tous vos clients devaient avoir ce langage de script installé, et ils devaient utiliser IE. Vous pouvez le faire pour des projets internes, mais il est impossible que cela fonctionne sur Internet.
la source
JavaScript a été initialement créé par Brendan Eich. Il a d'abord été livré avec la version bêta de Netscape Navigator 2.0 en septembre 1995 en tant que LiveScript, mais a été renommé JavaScript dans une annonce conjointe avec Sun Microsystems en décembre 1995. Ce n'est que plus tard (en 1996) que JavaScript a été soumis à Ecma International et est finalement devenu ECMAScript standardisé.
Sa domination actuelle sur le marché est largement due à l'inertie historique.
Source: http://en.wikipedia.org/wiki/JavaScript#History
la source
Pas sûr, mais c'est un langage de script léger côté client. Je pense que ses origines remontent aux premiers navigateurs Netscape (bien que je puisse me tromper). En effet, son nom même a été changé avant sa sortie pour inclure le mot "java" même s'il n'avait rien à voir avec java. C'était une tactique rapide pour gagner en popularité à l'époque.
la source
Je suis sûr que cela a beaucoup à voir avec l'histoire.
Mais je suis également sûr que je ne veux pas que les sites Web puissent exécuter des langages de programmation complets comme python sur mon navigateur. Les implications pour la sécurité m'effrayeraient loin de n'importe quel site comme ça (ou je devrais être très très certain que le sandbox du navigateur était étanche).
la source
"La prédominance de JavaScript est-elle un accident historique ou autre?"
Je suis personnellement d'avis que le succès de JS est une question de design autant que beaucoup l'ont été et continueront à détester l'admettre et pas seulement un accident ou simplement parce qu'il a été le premier enfant sur le terrain de jeu.
Bien que nommé pour attirer les développeurs Java et syntaxé comme la syntaxe basée sur C de Java pour attirer également les développeurs Java, Brendan Eich a pris l'une des décisions les plus graves de l'histoire du www qui devait s'appuyer principalement sur Scheme pour la mécanique du langage réel l'inspiration, ce que les développeurs Java ne semblent pas avoir aimé du tout (ce que je trouve très amusant).
JavaScript utilise un héritage prototypique hautement flexible / granulaire pour la POO, il a des fermetures, les types sont 100% dynamiques, les fonctions elles-mêmes sont de première classe leur permettant d'être transmises comme tout autre objet ou type de données et d'être réutilisées dans différents contextes et même être appliqué à des objets à la volée comme s'ils avaient été déclarés membres d'objet réels depuis le début. Il est pratiquement criant d'être utilisé pour des architectures événementielles qui doivent normaliser une tonne de déchets propriétaires ou gérer des problèmes d'interface utilisateur hautement non linéaires.
À la fin de l'aube du Web, c'est la seule langue qui ait jamais été sérieusement à la hauteur de la tâche de normaliser les navigateurs à travers une véritable guerre des navigateurs où Netscape et IE ont essayé de faire les choses différemment exprès, suivi par plus de 10 ans de navigateur trêve où IE vient de faire les choses différemment parce que MS est paresseux et auto-implanté dans certaines pratiques anticoncurrentielles justement stupides entraînant la stagnation du navigateur, et maintenant un monde où les navigateurs commencent enfin à se mettre d'accord sur les mêmes spécifications générales en ce qui concerne HTML, CSS et l'API DOM avec IE n'ont que 2-3 ans de retard sur les derniers développements plutôt que 10 en raison de la suppression par Google et Mozilla des compilateurs JIT qui rendaient les performances d'IE si pathétiques. MS a finalement été honteux de moderniser correctement ses foutus navigateurs.IE9 est le premier à réellement mettre à niveau le support de l'API DOM vers des niveaux que Netscape supportait en 2000.
JS a fait concurrence sous la forme d'applets Java et d'ActionScript d'Adobe pour Flash. C'est à peu près tout sur le front des candidats sérieux. MS a essayé de pousser VB mais a échoué misérablement parce que ... eh bien ... VB. En outre, propriétaire. Il y avait en fait beaucoup plus de sites Flash que la plupart des gens ne le pensent. Vous ne pouviez tout simplement pas trouver les choses idiotes avec les moteurs de recherche. Les applets ont fait leur propre truc, et c'était moche. Vraiment moche. JS était le seul langage qui a vraiment abordé le problème de travailler dans le contexte de plusieurs navigateurs par des personnes qui n'étaient pas d'accord sur qui définissait les spécifications auxquelles ils étaient censés correspondre.
Ces dernières années, JS a explosé dans un domaine d'application beaucoup plus large. En combinaison avec d'autres technologies Web, il est essentiellement conçu pour renverser toutes les autres solutions sur le front mobile, car la technologie informatique + Web est vraiment le seul choix réaliste en ce moment si vous voulez vraiment écrire une application et la faire fonctionner sur tout.
Alors non, et oui, je suis un grand fan, mais je ne pense pas que cela ait frappé tous les autres concurrents côté client par accident, pas plus qu'il ne devenait explosif en dehors du navigateur pourrait être considéré comme un accident maintenant. Avant JS, il n'y avait pas beaucoup de langues similaires à Scheme qui n'étaient pas principalement académiques. Cela donne à JS des avantages puissants et les besoins uniques du côté client ont permis à ces avantages de devenir progressivement limpides.
la source