Quelle est la différence entre Java et JavaScript ?

Publié le 23 mai 2016

Temps de lecture 6 minutes

Développement web : Vous vous demandez quelles sont les différences entre Java et JavaScript et vous souhaitez ne plus avoir aucune confusion ? Définition, contexte de création… Dans cet article, on vous dévoile tout !

Java et JavaScript (ou JS) sont deux langages de programmation différents. En tant que néophyte, on peut se dire que "Java" est le diminutif de "JavaScript", mais pas du tout. Ce serait comme dire que "chat" 😸 est le diminutif de "château" 🏰.

 

Leur point commun : ce sont tous les deux des langages issus d'un autre langage : le langage C. Le Java et JavaScript ont de ce fait la même structure. Ils sont cependant très différents dans leur fonctionnement et leur utilisation.

Quel type de langage est Java ?

Présenté officiellement en 1995 au SunWorld, Java est un langage de programmation créé par deux employés de Sun Microsystems (James Gosling et Patrick Naughton). Java est désormais détenu par Oracle, qui a racheté la société Sun en 2009.

Java est un langage qui doit être compilé : il faut passer par la JVM (Java Virtual Machine) afin qu’il soit interprété par la “machine” ensuite.

Quel type de langage est JavaScript ?

Créé en seulement 10 jours par Brendan Eich en 1995 pour le compte de la Netscape Communications Corporation, JavaScript est un langage qui s’est inspiré de plusieurs autres langages, notamment de Java. Depuis 1997, JavaScript est devenu une marque déposée par Oracle. Oui, lui aussi.

On dit que JavaScript est un langage interprété parce qu’il est directement lu et traduit au fur et à mesure de l’exécution du programme. Le JavaScript est principalement utilisé au travers de votre navigateur internet. Mais depuis quelques années, celui-ci tend à être utilisé en dehors de Firefox, Chrome ou Safari pour ne citer qu'eux.

Java / JavaScript : deux langages de programmation bien distincts

Quelles sont les principales différences entre Java et JavaScript ?

Si l’on met de côté leurs “types” de langage et le fait que JavaScript ne fait pas partie de la plateforme Java, on peut ajouter d’autres différences notables entre ces deux langages :

Java / JavaScript : le typage

JavaScript a un typage faible tandis que celui de Java est à typage fort. Typer une variable consiste à identifier le type de données que contient la variable : une chaîne de caractère, un nombre entier ou à virgules, un boolean (donnée permettant d’indiquer un état vrai ou faux) etc.

Java / JavaScript : des utilisations et des finalités différentes

Ces deux langages ne sont pas utilisés pour les mêmes raisons ni finalités.

JavaScript est un langage web, recommandé pour les applications et sites web, ce langage, historiquement réputé plus ”créatif”, est de ce fait dédié au développement d'applications dites front end. Il est depuis plusieurs années en pleine expansion. Il est difficile à notre époque de ne pas devoir s'y intéresser. Pour JavaScript, il existe un nombre important de frameworks et de librairies, il peut donc sembler plus complexe à première vue pour se lancer dans ce langage. Depuis l’arrivée de  NodeJS, JavaScript permet le développement d’applications côté serveur, dédiées au développement back end. Cette nouvelle force du JavaScript, alliée à la diversité de framework front end est l'origine de l'essor que vit le JavaScript depuis quelques années. Pour citer quelques exemples, des applications telles que Netflix, Discord, Airbnb, Tesla, BBC ou encore PayPal sont codées en JS !

Java est un langage à la base destiné aux applications embarquées. C'est-à-dire des appareils qui ne sont pas considérés comme des ordinateurs avec des ressources (mémoire, disque dur) limités, comme le sont tablettes, ordinateurs de bord, etc. Réputé pour sa fiabilité, il a également très vite été utilisé pour des applications serveurs nécessitant une grande fiabilité - des serveurs de paiement par exemple. Amazon, Facebook, eBay, ou LinkedIn, ainsi que d'autres grands noms ont utilisé ou utilisent encore Java. Il est également considéré comme le langage natif des applications mobiles Android et offre de nombreuses fonctionnalités et options, plus larges que les autres langages pour ce type de déploiements. Tout comme JavaScript, pour faciliter le développement avec Java, il existe différents frameworks basés sur ce langage. Java Enterprise Edition, couramment nommé JEE (J deux E), récemment supplanté par son évolution Jakarta Edition est le plus connu. Mais il tend à être de moins en moins utilisé en entreprise pour la création de nouveaux projets par Spring qui facilite grandement le développement d'applications web monolithiques ou pour le déploiement de serveurs d'API REST.

Peut-on utiliser Java et Javascript en même temps ?

Java permettant aux développeurs de créer des applications web classiques, il est depuis toujours tout à fait envisageable de faire appel à JavaScript pour embellir l'application et la rendre plus dynamique. Dans une approche plus contemporaine, il est également monnaie courante de voir une application front end en JavaScript venir consommer des données délivrées par un serveur d'API Rest codé en Java. Un duo très répandu est d'ailleurs celui de Java avec Spring et d'Angular.

Alors… Pourquoi l’utilisation du terme “Java” dans JavaScript si ces deux langages n’ont rien de similaire à part d’être hérités du langage C ?

Initialement, JavaScript s’appelait LiveScript. Son nom a été modifié en JavaScript. Peut-être pour profiter de la notoriété du langage Java ? Qui sait !

À noter qu'un autre langage a émergé depuis quelques temps : le TypeScript. Il s'agit d'un dérivé du JavaScript, qui lui en revanche doit être "transpilé", c'est-à-dire transformé en JavaScript pour pouvoir être interprété. Son avantage, c'est qu'il est fortement typé. Il peut être considéré comme à la croisée des chemins des 2 langages de programmation présentés dans cet article : Java & JavaScript. Il a pour vocation de prendre le meilleur des deux langages.

En bref : quelles différences entre Java et JavaScript ?

Vous l'aurez compris, Java et JavaScript, ne partagent principalement que leur origine commune issue du langage C mais comme beaucoup d'autres langages de programmation. Ils ont chacun leurs intérêts et inconvénients que chacun saura défendre ou incriminer. De toute façon, dans les langages de programmation comme dans les langues,  il n'y a pas vraiment de mieux qu'une autre, tout dépend de ce que l'on a à dire !

On espère que cet article a enfin éclairé cette sombre affaire de Java vs. JavaScript.

Et si vous voulez approfondir vos connaissance en développement web, on vous invite à consulter :