Skip to content

Latest commit

 

History

History
206 lines (160 loc) · 12.3 KB

01-quest-ce-que-java.md

File metadata and controls

206 lines (160 loc) · 12.3 KB

🔝 Retour au Sommaire

1.1 Qu'est-ce que Java et à quoi il sert réellement en 2026

Chapitre 1 — Introduction : Java, la JVM et l'écosystème
Section de cadrage · Niveau débutant · Java 25 LTS


Java a fêté ses trente ans en 2025. Trois décennies, à l'échelle de l'informatique, c'est une éternité — assez pour qu'il traîne derrière lui une réputation parfois caricaturale : « langage de vieux systèmes d'entreprise », « verbeux », « lent », voire « has-been ». Cette section a un objectif
simple : remplacer ces clichés par une image juste et actuelle. Qu'est-ce que Java exactement ?
Et surtout, à quoi sert-il vraiment en 2026 — pas en 2005 ?


Java : un langage et une plateforme

Première chose à comprendre, parce qu'elle conditionne tout le reste : le mot « Java » désigne en
réalité deux choses distinctes.

  • Le langage Java — une syntaxe, des règles, des mots-clés. C'est ce que vous écrivez dans un fichier .java.
  • La plateforme Java — la machine qui exécute vos programmes (la JVM, Java Virtual Machine), accompagnée d'une immense bibliothèque standard et de tout un outillage. C'est ce qui fait tourner votre code, sur Windows, macOS, Linux ou un serveur, sans le réécrire.

Cette séparation est la grande idée fondatrice de Java, résumée par un slogan resté célèbre : « write once, run anywhere » — écrire une fois, exécuter partout. Votre code est traduit non pas en instructions propres à un processeur donné, mais en un format intermédiaire portable, le bytecode, que la JVM sait exécuter sur n'importe quelle machine équipée d'une JVM.

💡 Conséquence importante : la plateforme Java n'est pas réservée au langage Java. D'autres
langages tournent sur la JVM
— Kotlin, Scala, Groovy, Clojure… On les évoque en mise en
perspective au chapitre 18 et dans l'Annexe B. La JVM est
donc un atout qui dépasse Java lui-même.

Les détails techniques de ce mécanisme — JVM, JRE, JDK, bytecode, compilation — font l'objet de la section 1.2. Retenez pour l'instant l'essentiel : un langage, plus une plateforme d'exécution portable.


Une très brève histoire (pour situer)

Java est né en 1995 chez Sun Microsystems, sous l'impulsion notamment de James Gosling. Oracle a racheté Sun en 2010 et pilote aujourd'hui son évolution, mais Java n'est pas un produit fermé : son implémentation de référence, OpenJDK, est open source, et l'écosystème est porté
par une communauté immense et de nombreux acteurs (dont la Eclipse Foundation, qui édite à la fois
l'IDE Eclipse et la distribution Eclipse Temurin du JDK).

Surtout, après une longue période de versions espacées, Java a changé de rythme : depuis 2017, une
nouvelle version paraît tous les six mois, et une version à support long terme (LTS) à
intervalle régulier (aujourd'hui tous les deux ans). C'est ce qui explique qu'on en soit déjà à Java 25 LTS (référence de cette formation).
Ce calendrier et la notion de LTS sont détaillés en section 1.3.


Ce qui caractérise Java

En quelques traits, voici ce qui définit Java et explique sa longévité :

  • Portable — le même programme s'exécute sur des systèmes différents grâce à la JVM.
  • Typé statiquement et fortement — les types sont vérifiés à la compilation, ce qui attrape une grande partie des erreurs avant l'exécution. Un atout majeur sur les gros projets et dans la durée.
  • Orienté objet, et désormais multi-paradigme — la POO reste centrale, mais Java intègre pleinement la programmation fonctionnelle (lambdas, streams) et des constructions modernes.
  • Mémoire gérée automatiquement — un ramasse-miettes (garbage collector) libère la mémoire à votre place : pas de gestion manuelle comme en C/C++.
  • Remarquablement rétrocompatible — du code écrit il y a quinze ans compile et tourne encore le plus souvent. Pour une entreprise, c'est un argument décisif : on protège son investissement.
  • Performant — grâce à un compilateur JIT (Just-In-Time) et à des garbage collectors modernes très évolués, Java offre d'excellentes performances en production (sujet approfondi au chapitre 14).
  • Doté d'un écosystème colossal — bibliothèques, frameworks (Spring, Jakarta EE…), outils de build, serveurs, et une documentation abondante. Vous trouverez presque toujours une brique existante pour votre besoin.
  • Soutenu par une vaste communauté — un immense vivier de développeurs, de tutoriels, de réponses et d'offres d'emploi.

Tordre le cou aux clichés

Le mot « réellement » du titre n'est pas anodin. Trois idées reçues méritent une mise au point.

« Java, c'est lent. » C'était partiellement vrai aux tout débuts, dans les années 1990. Ça ne l'est plus depuis très longtemps : le JIT compile le code en instructions natives optimisées pendant
l'exécution, et les GC modernes (G1, ZGC) gèrent d'énormes volumes de mémoire avec des temps de
pause minimes. Java fait tourner des services à très grande échelle, avec exigence de débit et de
latence.

« Java, c'est verbeux et vieillot. » C'est l'image du « Java d'il y a quinze ans ». Le Java
de 2026 propose des records (données immuables concises), des classes scellées, le
pattern matching, l'inférence de type locale (var), les expressions switch, les blocs de texte, et les virtual threads pour la concurrence. On écrit aujourd'hui un Java nettement
plus expressif et compact — c'est précisément ce que cette formation enseigne (chapitres 2 à 4).

« Java = JavaScript. » Le piège classique du débutant. Ce sont deux langages totalement différents, sans lien de parenté : le nom partagé relève du marketing des années 1990. JavaScript
règne sur le navigateur web ; Java est un langage généraliste qui s'exécute sur la JVM. Les
confondre n'a pas plus de sens que de confondre un bus et un autobus… qui n'auraient en commun
que trois lettres.


À quoi sert réellement Java en 2026

C'est le cœur de la question. Java reste, année après année, l'un des langages les plus utilisés au
monde
, et il est particulièrement dominant dans certains domaines. Voici où on le rencontre
concrètement :

  • Back-end d'entreprise, services et microservices — c'est l'usage roi. Une part considérable des systèmes critiques tourne en Java : banques, assurances, e-commerce, télécoms, transport, secteur public. On y construit des API REST, des microservices et des applications métier, principalement avec Spring Boot (le framework dominant) ou Jakarta EE. C'est l'axe central du parcours « Développeur Backend » de cette formation (chapitre 12).
  • Données, big data et streaming — une grande partie de l'infrastructure de la donnée repose sur l'écosystème JVM : Apache Kafka (messagerie), Hadoop et Apache Spark (traitement massif), Apache Flink, Elasticsearch… Pipelines de données et plateformes analytiques sont un terrain de jeu majeur pour Java.
  • Cloud et systèmes distribués — Java est très présent dans le « cloud-native ». Des frameworks comme Quarkus, Micronaut ou Helidon, combinés à GraalVM Native Image (binaires natifs au démarrage quasi instantané), modernisent Java pour les conteneurs et le serverless (chapitre 15).
  • Outillage et infrastructure du développement — beaucoup d'outils que les développeurs utilisent tous les jours sont écrits en Java : l'IDE Eclipse lui-même, le serveur d'intégration continue Jenkins, de nombreux outils de build et utilitaires. Java est un langage avec lequel on fabrique aussi des outils.
  • Applications de bureau — avec JavaFX (UI moderne) ou Swing (existant à maintenir), Java équipe de nombreux logiciels métier et applications internes (chapitre 11).
  • Embarqué, IoT et cartes à puce — des JVM embarquées et Java Card (cartes bancaires, SIM…) font tourner Java sur des appareils contraints. C'est un domaine historique où l'écosystème reste solide.
  • Android (à titre de contexte) — Java a longtemps été le langage d'Android et d'immenses bases de code Android sont encore en Java, même si Kotlin est aujourd'hui le langage privilégié par Google. Android sort du périmètre de cette formation (centrée sur Java SE) et n'est abordé qu'en mise en perspective (chapitre 18).
  • Et même le jeu vidéo — l'exemple le plus connu du grand public reste Minecraft : Java Edition, écrit en Java. De quoi rappeler que le langage ne se limite pas aux serveurs d'entreprise.

🎯 L'idée à retenir : Java est un langage généraliste, mais son centre de gravité en 2026,
c'est le back-end et les services à grande échelle, ainsi que l'infrastructure de la
donnée
. C'est là qu'il est le plus difficile à remplacer, et c'est là que se concentre l'essentiel
des emplois.


Là où Java n'est pas le premier choix

Par souci d'honnêteté — un principe de cette formation —, il faut aussi dire où Java cède
généralement la place :

  • Le front-end web (l'interface dans le navigateur) appartient à JavaScript et TypeScript.
  • Le scripting rapide, la science des données et les notebooks sont le territoire de Python.
  • La programmation système bas niveau (systèmes d'exploitation, pilotes, calcul ultra-optimisé) revient plutôt à C, C++ ou Rust.
  • Les nouvelles applications mobiles se font désormais surtout en Kotlin (Android) et Swift (iOS).

Connaître ces limites ne dévalorise pas Java : cela vous aide à choisir le bon outil pour le bon
problème, et à comprendre pourquoi Java domine précisément là où ses qualités comptent le plus.


Pourquoi Java reste un choix solide en 2026

Si l'on devait résumer en une phrase : Java combine la stabilité (rétrocompatibilité, maturité,
support long terme) avec la modernité (un langage qui évolue tous les six mois) — le tout adossé à un écosystème immense, à de bonnes performances et à un gigantesque vivier de talents.

C'est exactement le profil recherché pour les systèmes appelés à vivre longtemps et à supporter
une activité critique : précisément le genre de logiciels qui font tourner les entreprises. Voilà
pourquoi, trente ans après ses débuts, Java n'est ni « mort » ni « dépassé » — il est, au contraire,
l'un des socles les plus fiables du logiciel professionnel.

Pour vous qui apprenez, cela se traduit très concrètement par une compétence demandée, durable et
polyvalente
. Et comme cette formation met l'accent sur le langage avant l'outil, ce que vous y
apprendrez vous restera utile quel que soit votre futur IDE, framework ou employeur.


🔑 En résumé

  • « Java » = un langage + une plateforme (la JVM) qui exécute un bytecode portable : « write once, run anywhere ».
  • Né en 1995, open source via OpenJDK, Java publie une version tous les six mois et une LTS tous les deux ans — d'où Java 25 LTS aujourd'hui.
  • Ses forces : portabilité, typage statique, gestion automatique de la mémoire, rétrocompatibilité, performances (JIT, GC modernes) et un écosystème colossal.
  • Le Java de 2026 est moderne (records, sealed, pattern matching, virtual threads) : oubliez l'image du langage verbeux et lent. Et non, Java ≠ JavaScript.
  • Usages réels dominants : back-end / microservices, big data et streaming, cloud-native, outillage, desktop, embarqué — Android et le jeu vidéo en complément.
  • Java cède la place sur le front-end web, le scripting/data-science et le très bas niveau — c'est normal et utile à savoir.

◀ Précédent Sommaire Suivant ▶
← Introduction du chapitre Sommaire 1.2 — JVM, JRE, JDK : qui fait quoi →

⏭ JVM, JRE, JDK : qui fait quoi