JavaScript apparaît comme l’un des langages les plus utilisés aujourd’hui sur le Web. L’histoire la plus courte qu’on raconte sur ce langage est qu’il a été créé en dix jours à peine par Brendan Eich pour le compte de Netscape en 1995. Le langage a porté successivement les noms Mocha puis LiveScript et enfin JavaScript, respectivement en mai, septembre et décembre de la même année. À sa création, il avait une syntaxe un peu proche de celle du Java, des fonctions de première classe comme on en trouve dans le langage Scheme, des types dynamiques comme Lisp et des prototypes comme ceux présents dans le langage Self.Lorsque Tim Berners-Lee a inventé le premier navigateur Web en 1990, les pages Web qu’il affichait manquaient encore de dynamisme et d’interactions plus conviviales. En 1993, Marc Andreessen et Eric Bina ont aidé le Centre national des applications de calcul intensif de l'Université de l'Illinois à lancer Mosaic. Il s’agit d’un nouveau navigateur Web graphique convivial. Internet était en train de devenir un univers multimédia pour les utilisateurs grand public.
Andreessen a, par la suite, fondé la société privée dénommée Mosaic Communications Corporation et publié un navigateur commercial appelé Mosaic Navigator en 1994 (le nom a été changé pour Netscape après le règlement d'un litige). Netscape Navigator a été un succès et l'introduction en bourse de Netscape a établi de nouveaux records. La part de marché du jeune navigateur a augmenté très rapidement pour atteindre les 80 %, mais un besoin se faisait toujours ressentir. Les pages Web manquent d'interactions et de dynamisme. Les développeurs ont essayé de combler cette lacune avec l’aide du langage Java de Sun Microsystem (aujourd’hui racheté par Oracle), mais cela ne leur convenait toujours pas.
Microsoft travaillait également pour innover dans le monde des navigateurs Web. Pour Netscape, il fallait trouver une solution innovante pour maintenir l’avance sur le concurrent. Autrement dit, Andreessen et les siens se sentaient dans le besoin de proposer de nouvelles fonctionnalités pour conserver leur position dominante. Les navigateurs Web devaient aller au-delà de l'affichage de documents statiques et exécuter un logiciel véritablement interactif. En 1995, ces derniers ont décidé de recruter Brendan Eich pour implémenter Scheme pour le navigateur, tout en lui mettant la pression pour produire un prototype assez rapidement pour contrer la menace de Microsoft.
Sous pression, Brendan Eich a présenté une dizaine de jours après Mocha, un langage qui possède les superficialités et les structures de contrôle du Java et des fonctionnalités à la fois minimalistes et flexibles. Le nouveau langage possède également un aspect fonctionnel et orienté objet qu’il a hérité des langages de programmation Scheme et Self. Eich avait, semble-t-il, tenu son pari. Il a créé un outil qui répond aux exigences (“ressembler à Java”, “être petit”, “être accessible”), mais qui offre un potentiel plus grand que celui que tout le monde avait prévu. Il était connu en interne sous le nom de Mocha, renommé LiveScript et enfin, JavaScript.
Le JavaScript (JS) est un langage de programmation de scripts principalement employé dans les pages Web interactives pour le rendu côté client, mais depuis quelques années, son utilisation côté serveur s’est également répandue (avec Node.js par exemple). C'est un langage orienté objet à prototype, c'est-à-dire que les bases du langage et ses principales interfaces sont fournies par des objets qui ne sont pas des instances de classes. Les objets sont chacun équipés de constructeurs permettant de créer leurs propriétés notamment une propriété de prototypage.
En 1996, Microsoft et Bill Gates auraient procédé à l’ingénierie inverse du JavaScript pour l’introduire ensuite dans le navigateur Internet Explorer 3, en lui donnant le nom de JScript. La concurrence est repartie de plus belle et cette fois-ci, Microsoft passe devant Netscape. Néanmoins, Netscape a soumis le langage à la normalisation ECMA International (ECMAScript) la même année. ECMAScript est un standard de langage de programmation. Il définit la syntaxe, les types de variables, les structures de contrôles, et bien d’autres encore. JavaScript...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

