JavaScript est à Java ce qu'une voiture est à un tapis
Pourtant dans le mot JavaScript il y a Java
Sauf que la comparaison s'arrête ici, JavaScript n'a rien à voir avec Java.
Remettons les choses dans le contexte ; JavaScript et Java sont deux langages informatiques. Grâce à des instructions définies par chacun des langages, le développeur peut communiquer à la machine ce qu'il souhaite qu'elle fasse.
-
JavaScript (ou JS), est un langage exécuté par votre navigateur pour modifier dynamiquement le contenu d'une page web. Le fait de cliquer sur une photo sur facebook pour qu'elle s'affiche en plus grand est géré par ce langage, ou plutôt de l'interprétation faite votre navigateur de ce langage. Les jeux en ligne sur navigateur sont généralement écrits en JavaScript. C'est un langage de type script (comme son nom l'indique), cela signifie qu'il est interprété sans avoir été préalablement compilé. JavaScript ne possède pas d'implémentation unique, par ailleurs sa norme fait partie du domaine public.
-
Java, est un langage exécuté par une machine virtuelle installée sur votre ordinateur. Il s'agit d'un langage propriétaire possédé par la société Oracle. Java ne peut pas être interprété par votre navigateur. Contrairement à JavaScript, Java est un langage à compiler avant d'être exécuté. Le compileur va traduire un programme en une séquence d'octets lisible par la machine. La compilation est réalisée une seule fois, ensuite c'est le fichier généré qui va être utilisé pour exécuter le programme qu'il représente. Contrairement à JavaScript, Java est utilisé à la fois pour des logiciels côté client et également des applications côté serveur. Les téléphones Android ont un système d'exploitation développé en Java.
Quelques similarités tout de même
Ce serait mentir que de dire qu'ils sont totalement différents. En revanche il faut noter que les différences sont plus nombreuses qu'entre la plupart des autres langages.
Les deux se basent sur le paradigme de la programmation orientée objet (POO), comme la grande majorité des langages actuels. Leur syntaxe ressemble à celle utilisée par C++, donc par transitivité elle est similaire chez les deux.
Aussi, j'ai fait un raccourci en disant que JavaScript n'était utilisé que dans les navigateurs. Ce n'est plus vrai depuis l'arrivée et la popularisation de NodeJS.