Javascript est un langage de programmation
Contrairement à HTML qui est un langage de description, Javascript est un langage de programmation, ce qui signifie que l’on donne des ordres. Le langage Javascript s’adresse au moteur javascript du navigateur web, la plupart du temps.
Les instructions écrites en javascript doivent respecter des règles de syntaxe précises, sans quoi le moteur les ignore ou arrête l’exécution du code pour toute la page, ce qui peut être problématique.
Javascript est un langage côté client
C’est un détail très important à comprendre : le navigateur web qui reçoit du code javascript va devoir l’exécuter lui-même. Du coup, un navigateur installé sur un ordinateur rapide exécute le code javascript plus vite qu’un navigateur installé sur un ordinateur plus ancien. Si le navigateur est vieux, il risque aussi d’être incompatible avec la version trop récente du code utilisé, puisque Javascript est un langage qui évolue à travers différentes versions.
Si plusieurs pages exécutent du code javascript, chaque page l’exécutera plus lentement aussi. Bref, l’exécution du code est dépendant de la machine finale, et pas du serveur web qui a envoyé la page.
Le langage côté client est l’opposé d’un langage côté serveur, qui est exécuté sur le serveur avant qu’il n’envoie la page vers le navigateur. Php, Asp, Ruby, Python sont des langages côté serveur. Le fait qu’une seule machine exécute le code côté serveur permet d’identifier plus facilement les bugs, puisqu’il sont concentré à un seul endroit et le code toujours exécuté de la même manière.
Javascript n’est pas Java
Le langage développé par Brendan Eich, employé chez Netscape en pleine guerre des navigateurs, s’appelle d’abord Livescript. Comme Netscape est en relation commerciale avec Sun Microsystems, qui développe Java, il est décidé quelques jours avant la présentation du langage qu’il changera de nom pour Javascript, pour lui donner un air de famille. Un réflexe commercial idiot, qui produira de la confusion entre les deux langages. Si javascript s’inspire de Java, les deux langages sont très différents et ne doivent pas être confondus.
Bref historique
La mythologie raconte que le langage a été créé en dix jours en mai 1995 par Brendan Eich qui travaille à l’époque pour Netscape Communications Corporation, développeur du navigateur Netscape.
En mars 1996, Netscape met en œuvre le moteur JavaScript dans son navigateur Web Netscape Navigator 2.0. Le navigateur Netscape a été largement et gratuitement distribué, et il est donc très populaire, ce qui assure immédiatement un engouement pour le javascript.
La guerre des navigateurs en est à ses début et il n’est donc pas question pour l’équipe de Internet Explorer, de Microsoft, de se concerter avec Netscape. L’équipe de Internet Explorer "invente" donc sa propre version qui s’appelle Jscript, qui sera implémenté dans la version 3 de Internet Explorer quelques mois plus tard.
Jscript et Javascript sont très proche, mais le code écrit pour l’un des navigateurs a une fâcheuse tendance à ne pas s’exécuter sur l’autre. Développer en script signifie donc développer deux versions de code pour obtenir le même résultat pour chacun des navigateurs. Une perte de temps qui durera jusqu’au milieu des années 2000.
Javascript est standardisé (décrit comme une norme) sous le nom d’ECMAScript en juin 1997 (la norme est écrite puis valisée par Ecma International, un organisme de régulation). En 2019, la norme en est à sa 8eme édition.