Dans l'histoire ancienne, Brendan Eich avait une conception de langage, et dans le monde d'aujourd'hui, JavaScript est un langage populaire implémenté et utilisé dans de nombreux endroits différents.
Qu'est-ce qui a rendu la langue populaire? Était-ce la syntaxe de type C familière aux programmeurs précédents? Netscape avait-il suffisamment de contrôle sur le marché pour le forcer à être utilisé? Ou y a-t-il une raison plus profonde pour laquelle JavaScript est populaire et que d'autres langues ne le sont pas?
En particulier, si vous deviez rendre un langage aussi populaire que JavaScript, quelles conditions initiales auriez-vous besoin pour recréer sa croissance en popularité?
programming-languages
javascript
history
Mathnerd314
la source
la source
Réponses:
Je commentais une réponse antérieure , mais elle devenait grande, alors j'ai pensé que j'allais tourner la page.
Tout nouveau langage ne peut réussir que s'il capitalise sur une frontière émergente en informatique.
Exemples précédents:
Pour répondre à votre question, JavaScript était la langue de Netscape Navigator à l'époque où c'était le navigateur dominant. Plus précisément, c'était le langage du développement frontal dynamique.
La prochaine grande langue devra résoudre une autre frontière. Il semble toujours y avoir une prise de terre dans l'espace de développement Web principal. De plus, l'informatique mobile n'est pas totalement résolue, malgré la domination actuelle d'Apple. De plus, il y a l'émergence du multicœur et du cloud computing, ce que de nombreux langages tentent de capitaliser (comme les langages concurrents comme Erlang et Go, ou les langages fonctionnels comme Haskell et OCaml).
Les entrepreneurs ont une expression dans le sens de "trouver quelqu'un en feu et lui vendre un tuyau d'incendie". Donc, si vous voulez introduire une nouvelle langue, à qui mettez-vous le feu? Chaque nouvelle frontière dans l'informatique apporte une multitude de maux de tête; alors fournissez de l'aspirine et vous serez en or.
la source
C'est assez simple: Netscape a utilisé un moteur JavaScript dans son navigateur. Si vous vouliez faire des scripts sur le web, JavaScript était il . Internet Explorer avait (et a toujours) à la fois JavaScript et VBScript, mais évidemment si vous voulez travailler dans plus que juste IE, vous n'avez pas d'autre choix que d'utiliser JavaScript.
JavaScript est un excellent langage à part entière, mais il serait loin d'être aussi populaire aujourd'hui si ce n'était le seul langage que vous pouvez utiliser pour écrire du code HTML.
la source
Je vais ajouter une mise à jour car je pense que l'émergence de JS sur le Web côté client a été mal comprise sur quelques points clés au fil des ans.
Ce n'était pas Ajax
Je ne dis pas que Ajax n'était pas important pour l'évolution de la compréhension de JS en tant que langage, mais la lutte pour la domination du navigateur côté client était terminée bien avant que le terme Ajax ne soit inventé.
Ce n'était pas parce que c'était le seul jeu en ville
Il y avait des applets Java, Flash et VBScript. J'ai entendu dire qu'il y avait même d'autres options de script dans les années 90 (mais des plug-ins IIRC requis). Java est extrêmement populaire, mais les applets ont été un échec lamentable. Ils étaient laids et souvent des fromages de sécurité suisses, mais plus important encore, je ne pense pas que Java était un bon choix pour des raisons que j'irai plus tard. Flash était très populaire et avait une forte emprise pendant un certain nombre d'années, mais même lorsque Flash avait finalement des options de référencement, elles n'étaient généralement pas utilisées, ce qui rend les sites exclusivement Flash très difficiles à découvrir. Même maintenant, la plupart d'entre nous mettons régulièrement à jour Flash pour que nous puissions voir des films, mais c'est le vrai talon d'Achille. La technologie propriétaire des navigateurs est agaçante. Et bien sûr VB, qui ne fonctionnerait qu'avec IE, donc non.
Le bon endroit au bon moment est pertinent mais pas la réponse complète
Oui, sans la vague Web pour naviguer, nous n'aurions peut-être jamais vu JavaScript ou un langage populaire comme celui-ci dès que nous l'avons vu. Ou peut-être que nous aurions ...
Il s'est avéré être l'outil parfait pour le domaine problématique
Je dirais que vers 2000, nous avons eu les problèmes suivants:
Nous avions donc besoin d'un langage à la fois profond, offrant la possibilité de structurer et d'architecturer une application plus avancée avec des composants portables / réutilisables côté client, mais également accessible aux personnes qui ne connaissaient pas grand-chose et qui avaient juste besoin de choses. pour apparaître / réapparaître lorsque vous avez cliqué sur un bouton.
De plus, MS étant la bête maladroite / incompétente et / ou dominante par le biais de pratiques anti-concurrentielles qu'ils schématisent parfois, n'a pas vraiment touché à leur implémentation DOM DOM non conforme pendant une bonne décennie, bien qu'ils aient réussi à ajoutez la chose occasionnelle comme l'objet XHR d'origine et querySelectors dans IE8.
La chose importante à noter est que vers 2005, nous avions réussi à enterrer si complètement la complexité impliquée dans la gestion des problèmes inter-navigateurs que ce n'était plus vraiment un problème sérieux sur le front de JavaScript. L'incapacité à prendre correctement en charge CSS2 aussi longtemps que cela a causé beaucoup plus de douleur. Pour avoir une idée du volume et de la profondeur des problèmes, je recommande de consulter quirksmode.org . Je ne pense pas que ce soit un exploit qui aurait pu être réalisé aussi facilement et dans autant de bibliothèques en Java, certainement pas en VB et certainement pas avec une stratégie de plug-in dont le but est de contourner tout le problème en devenant un tout nouveau sorte de nuisance.
Autres fonctionnalités linguistiques qui font beaucoup de sens pour l'interface utilisateur:
Fonctions de première classe: D'après mon expérience, rien ne se prête mieux au traitement asynchrone et aux paradigmes événementiels qu'un langage qui rend ses fonctions de première classe. Ces deux préoccupations sont régulièrement abordées dans les travaux sur l'assurance-chômage.
Types dynamiques: la conversion et la vérification de type sont un besoin très rare en JavaScript, ce qui a aidé à garder le code concis et léger. Les problèmes d'interface utilisateur peuvent devenir complexes et désordonnés très rapidement. Garder le code serré et être absolument clair sur le flux de données est essentiel pour le comprendre et le modifier / le maintenir.
Ce n'est pas protectionniste: pendant de nombreuses années, quelqu'un a prêché que vous devez vous protéger de vos propres erreurs et des choses stupides que l'autre gars pourrait faire avec votre code en rendant les constructions de code très rigides et inflexibles et impossibles à se mêler de l'intention initiale qu'il était. écrit avec et beaucoup de gens ont écouté. Je ne dirai pas qu'ils ont toujours tort (pourrait le penser), mais je dirai que c'est la mauvaise approche de l'interface utilisateur Web et je crois que c'est quelque chose d'un phénomène que nous avons lancé, maintenu et modifié par le client- les interfaces graphiques secondaires à un rythme beaucoup plus rapide et avec une plus grande facilité que ce travail était généralement accompli dans des langages plus restrictifs dans le passé. Pouvoir changer les choses rapidement et facilement rend beaucoup plus facile d'avoir des schémas d'architecture dynamiques / fluides qui ne nécessitent pas de quantités monumentales d'indirection et d'abstraction, ce qui rend finalement plus facile de voir ce qui se passe dans votre code et anticiper ou gérer les exceptions beaucoup plus proprement. Il est plus facile à maintenir simplement grâce à la simple possibilité d'être plus direct dans tout ce que vous faites et avec beaucoup moins de code qu'il n'en faudrait compte tenu de l'autre philosophie.
Comment JS est-il devenu populaire? Il s'est avéré être un excellent outil pour le travail à maintes reprises. Ce n'est pas la langue avec laquelle nous sommes «coincés». C'est la langue qui a peut-être inspiré beaucoup d'évolution dans les langues populaires en général. Et pour cela, vous pouvez remercier Brendan Eich et tous les contemporains qui ont aidé à mettre l'idée dans sa tête, pour avoir aimé Scheme comme une inspiration de conception adaptée au problème actuel plus qu'il n'aimait Java.
la source
L'une des tactiques utilisées au départ était le nom - "JavaScript" était destiné à tirer parti de la popularité de Java, qui avait ensuite augmenté pendant un certain temps.
la source
N'est-ce pas le seul langage de script côté client multi-navigateur? Sa popularité semble avoir évolué au même rythme que celle du Web, ce qui est logique.
la source
Au bon moment, au bon endroit. Et ça n'a pas été complètement nul.
C'est la même raison pour laquelle Facebook gagne.
la source
À mon avis, Javascript est populaire car il est bien pris en charge.
Tout d'abord, c'est le seul langage pour Netscape et IE en son temps. Une fois qu'une "communauté javascript" est établie et est devenue stable, personne ne pourrait jamais penser à "un autre bien" qui nécessite de construire à partir de rayures. Ils contribuent simplement à le rendre de mieux en mieux.
Si vous voulez construire une nouvelle langue populaire, la première chose à laquelle je pense est que vous devez déterminer qui utilise cette langue . Les premiers clients sont toujours difficiles à obtenir, et vous devez rendre votre langue supérieure au javascript d'une manière ou d'une autre. Peut-être même dans un domaine restreint / une communauté restreinte de programmeurs, par exemple, "un moteur javascript meilleur / plus rapide pour iPhone mobile" peut être un bon choix.
De plus, votre langue doit être facile à utiliser et à personnaliser par communauté, car c'est la communauté qui détermine quelle langue pourrait survivre.
la source
Tu ne vas pas me croire, mais le flash et (dans un peu les applets java plus tôt) ont fait une énorme contribution à la croissance de la popularité de javascript et à l'évolution du langage lui-même.
Lorsque le flash est apparu, c'était la première preuve que les applications Web valaient la peine d'être réfléchies.
Dans un certain sens, la concurrence avec les plugins, les tentatives constantes de montrer - regardez ce que nous pouvons faire sans plugins a fait du javascript un langage avec un plus large éventail d'applications, et, par conséquent, l'a rendu populaire.
la source
Pour ma part, les gens pensaient que Javascript devait faire quelque chose avec Java.
(Comme de nos jours, tout commence par un "i")
La stratégie de marketing / publicité joue un rôle important.
la source
Je pense vraiment que cela a à voir avec son C-comme la syntaxe . Selon Wikipedia, Javascript est apparu en 1995. A cette époque, C était à un niveau record et Java était le langage à venir. Je pense que la syntaxe était vraiment attrayante (pour l'époque) et son association de nom avec le prochain grand langage, Java , lui a donné un avantage.
Il permettait à ce moment-là aux programmeurs C de s'adapter facilement à un langage dynamique.
Indice Tiobe
Si je devais recréer le succès de Javascript , j'examinerais les problèmes qui tourmentent les programmeurs modernes et je leur donnerais une solution avec une syntaxe familière.
La programmation parallèle de l'OMI est le prochain gros problème auquel les programmeurs sont confrontés. Je pense que les langages fonctionnels font vraiment un excellent travail pour surmonter cet obstacle. Si je devais créer le prochain Javascript, je créerais un langage fonctionnel avec une plate-forme commune . De plus, je pense qu'il devrait être suffisamment flexible pour être un langage scirpting mais suffisamment puissant pour être un langage typé statiquement, avec un excellent cadre.
Bien que tout le monde ne soit pas d'accord, dans ces conditions, je pense que F # pourrait avoir beaucoup de mérite à l'avenir.
la source
JavaScript est devenu populaire grâce à AJAX et à de bons outils d'inspection tels que Firebug. Bien sûr, le fait qu'il fonctionnait sur tous les principaux navigateurs et n'était que le moyen de faire DHTML a aidé.
Fondamentalement, pour que le langage le plus laid soit réussi, il doit être capable de faire quelque chose de vraiment utile qu'aucune autre langue ne peut faire. Vous devez également fournir des outils qui permettent aux programmeurs de vraiment sentir qu'ils contrôlent le langage, ce qui n'était pas le cas pour javascript avant le firebug.
la source
Javascript est populaire comme hack pour surmonter les lacunes du balisage HTML pour faire apparaître les pages Web comme les concepteurs le souhaitent. Sans Javascript, toutes les pages Web ressembleraient à ceci - HTTP 1.1 . À peine un pas en avant par rapport au protocole Gopher .
la source