Java (langage)
Java est le nom d'un langage de programmation créé par Sun Microsystems. Cette société a été rachetée par Oracle Corporation, qui continue à la maintenir à jour. La dernière version est Java 14, sortie en mars 2020. En outre, les seules versions supportées sont la dernière version du support à long terme (LTS) Java 11, sortie le 25 septembre 2018, et Oracle a sorti pour l'"ancien" Java 8 LTS la dernière "mise à jour publique" gratuite. La prochaine version LTS prévue est la version Java 17 (LTS), prévue pour septembre 2021.
Java, qui s'appelait Oak lorsqu'il était encore en cours de développement, est orienté objet, ce qui signifie qu'il est basé sur des objets qui travaillent ensemble pour faire faire leur travail aux programmes. Le code Java ressemble au C, C++ ou C#, mais le code écrit dans ces langages ne fonctionnera pas en Java dans la plupart des cas sans être modifié.
Java fonctionne sur de nombreux systèmes d'exploitation différents, y compris Android, le système d'exploitation mobile le plus populaire au monde (bien que Java continue d'être utilisé sur Android, même par son fabricant Google, ils ne préfèrent plus Java ; maintenant Kotlin est leur langage préféré, qui peut également être utilisé avec tout le code Java). Cela rend la plate-forme Java indépendante. Pour ce faire, le compilateur Java transforme le code en bytecode Java au lieu de code machine. Cela signifie que lorsque le programme est exécuté, la machine virtuelle Java interprète le bytecode et le traduit en code machine.
Concepts Java
Java a été développé pour atteindre cinq objectifs principaux. Ces objectifs sont les suivants :
- Java devrait être facile à apprendre, orienté objet et distribué.
- Java doit être sûr et solide.
- Java ne devrait pas dépendre d'une architecture ou d'une plate-forme informatique.
- Java devrait bien fonctionner.
- Java devrait pouvoir disposer d'un interpréteur écrit pour lui, supporter le parallélisme et utiliser la typographie dynamique.
Plate-forme Java
La plate-forme Java fait référence à un groupe de logiciels de Sun Microsystems. La plate-forme est utilisée pour développer et exécuter des programmes Java. La plate-forme comprend le moteur d'exécution (appelé machine virtuelle Java) qui permet aux programmes Java de faire la même chose sur différents systèmes informatiques.
Cette capacité de pouvoir développer des logiciels sur une plate-forme et de les faire fonctionner sur d'autres plates-formes est appelée "capacité multi-plate-forme".
Exemple de programme Java
Un exemple de programme Java "Hello World" :
Types de programmes Java
Il existe de nombreux types de programmes Java qui fonctionnent différemment :
- Applet Java - petit programme écrit en Java et qui est téléchargé depuis un site web et exécuté dans un navigateur web sur un ordinateur client.
- Application - s'exécute sur un ordinateur client. Si elle est en ligne, elle doit être téléchargée avant d'être exécutée.
- Fichier JAR (archive Java) - utilisé pour regrouper les fichiers Java en un seul fichier (presque exactement comme un fichier .zip).
- Servlet - fonctionne sur un serveur web et aide à générer des pages web.
- Application Swing - utilisée pour construire une application qui possède une interface graphique (fenêtres, boutons, menus, etc.).
- EJB - fonctionne sur un serveur web et est utilisé pour développer de grands sites web complexes.
Avantages
Java est couramment utilisé pour apprendre aux étudiants à programmer en tant que premier langage, mais il est encore utilisé par les professionnels.
- Java exige que chaque variable soit initialisée. Certains langages plus anciens, comme le C, permettent aux variables de ne pas être initialisées, ce qui peut entraîner des échecs aléatoires avec de mystérieux bogues.
- Java exige que chaque méthode déclare un type de retour - la méthode doit toujours renvoyer une valeur, sauf si son type de retour est nul. Cela permet également d'éviter les bogues.
- Java est livré avec un large ensemble de classes et de méthodes, l'API Java, qui peut être utilisé sans avoir à développer autant de code "à partir de zéro".
- Contrairement au C, les types de primitives Java, comme int, ont toujours la même taille en nombre de bits, ce qui permet d'obtenir une compatibilité entre les plates-formes.
- On pensait autrefois que Java était plus lent que C, mais c'est devenu moins important ces dernières années parce que les ordinateurs sont plus rapides.
- Java dispose d'un système de traitement des exceptions qui nécessite un programmeur pour traiter les conditions d'erreur telles que les erreurs d'entrée/sortie.
- Le code compilé sur une plate-forme Java peut être exécuté sur d'autres plates-formes qui supportent Java sans modification du code source ni du code d'octet. Cela signifie qu'une personne peut créer un programme Java pour un ordinateur Windows et le faire fonctionner sur un ordinateur Linux ou un ordinateur Mac.
Critique
Java a également été critiqué. Certaines de ces critiques sont :
- Des génériques ont été ajoutés à Java de telle sorte que le code existant continue à fonctionner. Cela a été fait en utilisant l'effacement des caractères. Cela signifie que lors de la compilation, le type réel d'un argument générique est supprimé. Cela peut amener l'interpréteur Java à se comporter de manière inattendue à certains moments.
- Java n'a pas de types d'entiers non signés, que les langages comme le C utilisent fortement. Cela signifie également qu'il est impossible d'échanger directement des données numériques entre les programmes C et Java. La cryptographie repose également sur ces types dans une certaine mesure ; il est donc plus difficile d'écrire des applications qui utilisent la cryptographie en Java.
- L'IEEE a défini une norme pour l'arithmétique en virgule flottante, IEE 754. Java ne prend en charge qu'une partie des fonctionnalités de cette norme.
Questions et réponses
Q : Quel est le nom du langage de programmation créé par Sun Microsystems ?
R : Le langage de programmation créé par Sun Microsystems s'appelle Java.
Q : Qui prend actuellement en charge et maintient Java à jour ?
R : Oracle Corporation assure actuellement la prise en charge et la mise à jour de Java.
Q : Quelles sont les versions actuelles du support à long terme (LTS) de Java ?
R : Les versions LTS (long-term support) actuelles de Java sont les versions 17, 11 et 8.
Q : Quand la dernière version de Java a-t-elle été publiée ?
R : La dernière version de Java, la version 19, est sortie en septembre 2022.
Q : Y a-t-il une autre société qui prend en charge Java en dehors d'Oracle ?
R : Oui, Eclipse Adoptium prend également en charge Java au moins jusqu'en mai 2026 pour la version 8 et au moins jusqu'en septembre 2027 pour la version 17.
Q : Quel type de code Java utilise-t-il ?
R : Java utilise un code orienté objet, ce qui signifie qu'il est basé sur des objets qui fonctionnent ensemble pour que les programmes fassent leur travail. Il ressemble à C, C++ ou C# mais le code écrit dans ces langages ne fonctionnera pas dans la plupart des cas sans être modifié.
Q : Comment Java se rend-il indépendant de la plate-forme ?
R : Java se rend indépendant de la plate-forme en faisant en sorte que le compilateur transforme le code dans un format spécial appelé bytecode au lieu du code machine. Cela signifie que lorsque le programme est exécuté, le bytecode peut être interprété par un programme spécial appelé machine virtuelle qui le traduit en code machine afin qu'il puisse fonctionner sur différents systèmes d'exploitation tels qu'Android.