Il y a 30 ans, un programmeur Netscape créait la première version de l'un des langages les plus utilisés sur Internet en 10 jours

Il y a trente ans, en mai 1995, un jeune ingénieur du nom de Brendan Eich, alors nouvellement embauché chez Netscape Communications, s'est enfermé pendant dix jours effrénés pour construire un prototype fonctionnel d'un nouveau langage de programmation destiné à fournir de l'interactivité aux pages Web.

Mais cette simple expérience improvisée (un « hack », comme il l'appellera lui-même quelques temps plus tard) finira par devenir le moteur du web moderne, un outil omniprésent qu'utilisent aujourd'hui presque tous les sites Internet.

Quand le Web était encore statique

En 1995, le World Wide Web traverse un tournant : la navigation est essentiellement passive : l'utilisateur lit du texte, visualise des images statiques et suit des liens. Netscape, créateur de Netscape Navigator, alors révolutionnaire (l'arrière-grand-père de Mozilla Firefox et de Mozilla Thunderbird), a vu un énorme potentiel dans la possibilité de transformer ces pages statiques en environnements dynamiques et participatifs.

Son objectif était de créer un langage simple, accessible aux designers et aux professionnels sans formation approfondie en programmation. Il était essentiel qu'il fonctionne au sein du navigateur, sans avoir besoin de compilations complexes et sans nécessiter de connaissance de langages traditionnels comme le C ou Java.

Dix jours qui ont changé Internet

Eich avait été embauché pour travailler avec Scheme, un langage fonctionnel, élégant mais peu connu, même si la direction de Netscape avait d'autres projets : ils voulaient quelque chose qui « ressemble » à Java, le langage à la mode à l'époque. Notre programmeur a donc combiné diverses influences :

  • Syntaxe : crochets, points-virgules, structures si et alors quedes fonctions déclarées à l'esthétique familière… le tout inspiré de Java pour satisfaire la direction.
  • Sémantique : héritée de Scheme, un langage qu'Eich admirait. C'est de là que viennent les fonctions de première classe, les fermetures, la flexibilité de manipuler les fonctions en tant que données et une manière d'évaluer les expressions très différentes de Java ou C.
  • Le modèle des objets par prototypes : tirés de Soi. Ainsi, au lieu d’adopter l’héritage de classe classique (comme en Java), Eich a incorporé l’approche prototype, dans laquelle les objets sont créés à partir d’autres objets. En 1995, cette idée était perçue comme exotique, voire étrange, par de nombreux programmeurs formés aux langages classiques.

Le résultat a été un hybride surprenant : léger, flexible et suffisamment intuitif pour être adopté par les créateurs de contenu Web sans formation technique avancée. Ce premier prototype n'était pas un langage complet, mais plutôt une preuve de concept interne… mais il a fonctionné, et cela a suffi à Netscape pour redoubler d'efforts. Et c’est ainsi que JavaScript est né.

L'évolution dudit prototype se poursuivra pendant plus d'un an jusqu'à sa sortie publique en septembre 1995 et sa version 1.0 en mars 1996. À cette époque, Netscape et Sun Microsystems annonçaient conjointement le langage et obtenaient le soutien de 28 grandes entreprises technologiques.

Paradoxalement, JavaScript a fini par survivre à bon nombre de ces sociétés, telles que Silicon Graphics, Digital Equipment Corporation ou Netscape lui-même.

La ruée laisse des traces

Le développement accéléré a laissé un héritage particulier : ses incohérences, encore célèbres parmi les programmeurs. Il s’avère que JavaScript a été conçu pour être tolérant : si l’utilisateur faisait une erreur, idéalement la page continuerait à fonctionner.

Et cette philosophie a conduit, par exemple, à mettre en œuvre un système de coercition tarifaire extrêmement flexible – et parfois imprévisible. Exemples célèbres :

  • () + () produit «  » (une chaîne vide).
  • () + {} produit « (objet Objet) ».
  • {} + () produit 0 dans certains contextes.
  • « 5 » – 2 donne 3, mais « 5 » + 2 donne « 52 ».

Ces comportements sont dus à des règles de conversion créées rapidement pour prendre en charge les chaînes, les nombres et les objets sans interrompre le flux utilisateur, mais sans une conception cohérente à long terme. Ces imperfections n’ont cependant pas empêché son succès.

L'ère du JavaScript

Aujourd’hui, JavaScript est bien plus qu’un langage de navigateur. Leurs descendants et les écosystèmes associés se sont étendus à pratiquement tous les domaines :

  • Près de 99 % des sites Web utilisent JavaScript côté client.
  • Avec Node.js, il est également devenu un langage serveur.
  • Les frameworks comme React, Angular ou Vue dominent le développement frontend.
  • Il est utilisé dans les applications mobiles, les ordinateurs de bureau, les jeux vidéo et même les appareils embarqués.

Dans toutes les enquêtes d'utilisation et de popularité, JavaScript continue d'être l'un des langages les plus utilisés au monde.

Newsletter

Rejoignez notre newsletter pour des astuces chaque semaine