Le 4 Décembre dernier, nous fêtions les 25 ans du langage Javascript, aujourd'hui encore le seul langage de programmation (à proprement parlé) tournant nativement sur tous les navigateurs.

Mais l'histoire de Javascript a été mouvementée, il est passé d'un langage considéré comme étant de seconde zone au devant de la scène en quelques années seulement, notamment avec l'arrivée de jQuery, de NodeJS puis de tous les frameworks modernes que nous connaissons.

Mais revenons un peu en arrière afin de découvrir quelques faits amusant sur ce langage qui divise encore aujourd'hui.

#1 - Javascript n'est pas né le 4 Décembre 1995

En 1995, Netscape corporation, l'éditeur du navigateur web le plus populaire de l'époque, décide d'intégrer un langage de scripting à l'intérieur de la prochaine version de leur logiciel. Brendan Eich est embauché pour créer un nouveau langage interprété disposant d'une syntaxe similaire à celle de Java dont le nom de code en interne sera "Mocha".

En Septembre 1995, la nouvelle version de Netscape sort, accompagné de ce nouveau langage alors appelé "Livescript" mais qui trois mois plus tard sera renommé "Javascript", en partie pour surfer sur la vague du succès explosif de Java à l'époque.

#2 - Microsoft a dû faire de la rétro-ingéniérie pour cloner Javascript

Pour son navigateur fraîchement sorti, Internet Explorer, Microsoft met le paquet pour essayer de concurrencer Netscape, le leader du marché. Pour la sortie de la version 3 d'Internet Explorer, Microsoft va tout faire pour essayer d'intégrer Javascript à son navigateur.

En Aout 1996 est alors dévoilé "JScript", une copie de Javascript, entièrement créé à partir de la rétro-ingénierie de se dernier et dont le nom diffère uniquement dû à la volonté de Microsoft d'éviter tout risque de procès avec Sun Microsystems, l'éditeur de Java.

#3 - AJAX n'existait pas au lancement de Javascript

On pense souvent que Microsoft a toujours eu du retard dans le développement de ses navigateurs par rapport à ses concurrents, notamment depuis l'arrivée de Google Chrome.

Mais dans l'histoire de Javascript, c'est plutôt l'inverse : Microsoft a été un moteur d'innovation pour le langage, et les implémentations de nouvelles fonctionnalités sont souvent apparue dans la version JScript, avant d'être copiées par d'autres puis standardisées.

C'est notamment le cas pour l'AJAX, concept développé par l'équipe travaillant sur la version web d'Outlook chez Microsoft, dont le simple schéma ci-dessous a commencé à créer l'émulation et bâtir le futur des applications web modernes que nous connaissons aujourd'hui.

Un schéma montrant le fonctionnement client-serveur d'AJAX
Source : https://en.wikipedia.org/wiki/Ajax_(programming)

La fonctionnalité a vue le jour dans la version 5.0 d'Internet Explorer en 1999 avant d'être standardisée en 2006 par le W3C.

#4 -  jQuery est toujours l'une des libraries les plus utilisées en 2020

Si lorsque l'on pense à jQuery comme l'un des "dinosaures" du web, cette librairie qui fut l'un des fers de lance de Javascript est encore utilisée dans des millions de sites.

D'après les statistiques de W3Techs.com, jQuery serait présent dans 77% des sites web en 2020.

L'une des explications derrière l'engouement pour jQuery était justement la problématique de non-uniformisation des navigateurs web de l'époque, notamment en ce qui concerne l'API du DOM.

jQuery a donc permis à tous les créateurs de développer les intéractions de leurs applications web en se basant sur une plateforme commune, uniformisant les APIs des navigateurs.

#5 - Il existe un comic-book sur le moteur V8 de Google

Le 2 Septembre 2008, Google lançait officiellement la première version de son navigateur : Google Chrome. Ce lancement était aussi l'opportunité de sortir au grand jour deux initiatives open-source : Chromium et le moteur d'interprétation Javascript nouvelle génération, le V8.

Pour l'occasion, Google a même sorti un comic-book (dématérialisé) pour expliquer de manière ludique et graphique le fonctionnement global de ces nouveaux outils.

Lien vers le comic : https://www.google.com/googlebooks/chrome/

Il est d'ailleurs intéressant de remarquer que dans cette bande dessinée, les équipes de Google mettent l'accent sur le fait que le moteur V8 est indépendant du navigateur, et que les développeurs sont invités à l'utiliser pour d'autres projets.

Et justement, c'est en 2009 que Ryan Dahl présentera son projet appelé "NodeJS", un environnement serveur d'exécution javascript basé sur le moteur V8.

Pour en savoir plus sur NodeJS, je vous invite à lire mon article intitulé "Non, NodeJS n'est pas un langage".

#6 - Javascript, langage le plus populaire sur Github depuis 2013

Si Javascript reste un langage clivant, il reste le seul langage de programmation interprété par le navigateur, et l'importance grandissante que prend le web dans nos vie rend Javascript plus ou moins indispensable.

De plus, des projets comme Electron ou React-Native, permettant de créer des logiciels clients ou des applications mobiles permettent de réutiliser ses compétences en Javascript pour atteindre de nouvelles plateformes.

Si vous voulez découvrir Electron ou React-Native, je vous invite à lire les articles que je leur ai consacré sur mon blog.

#7 - Javascript dans l'espace

Il y a 6 mois, les ingénieurs logiciels de chez SpaceX ont tenu une session de questions-réponses sur la plateforme Reddit, et dont la phrase suivante a fait frémir la communauté Javascript :

"The use of Chromium and Javascript in mission critical environments is a  popular question. In order for me to answer this question clearly, we  have to understand that chromium in this context is used as a UI  rendering engine only. [...]"

D'après les informations de SpaceX, les interfaces graphiques des écrans de la capsule Dragon 2 à destinations des astronautes sont donc conçues avec Chromium et Javascript et sont intensivement testées.

Les ingénieurs sont d'ailleurs entrainés à écrire du C++ afin de garder la même mentalité afin d'écrire un code le plus robuste possible, même en Javascript.

J'espère que cet article vous a plu, et à bientôt sur le blog !

À propos de l'auteur

Hello, je suis Nicolas Brondin-Bernard, ingénieur web indépendant depuis 2015 passionné par le partage de d'expériences et de connaissances.

Aujourd'hui je suis aussi coach pour développeurs web juniors, tu peux me contacter sur nicolas@brondin.com, sur mon site ou devenir membre de ma newsletter pour ne jamais louper le meilleur article de la semaine et être tenu au courant de mes projets !


Photo par Petr Sevcovic sur Unsplash