Version sans JavaScript, en lecture seule : les ateliers, les quiz et l’exécution du code n’y sont pas. Version complète · Catalogue · Se connecter

Support de cours · chapitre 1

Pourquoi Java, et pourquoi ce module

Le contexte du module, ce que Java apporte en entreprise, et ce que « programmation professionnelle » veut dire ici. Rien de certifié dans ce chapitre.

Ce chapitre ne sera pas à l'épreuve écrite. Il explique pourquoi le module se fait en Java et pose le vocabulaire utilisé dans les chapitres suivants.

Portabilité, robustesse, écosystème, longévité

La portabilité. Un fichier .java est compilé en bytecode (.class), que la JVM exécute. Le même fichier tourne sur le poste Windows du développeur, sur le serveur Linux et dans l'image Docker de production. Pendant l'exécution, le compilateur juste-à-temps (JIT) optimise le code selon l'usage qui en est fait.

En contrepartie, il faut une JVM. Dans ce module, elle tourne dans votre navigateur et vous n'avez rien à installer.

La robustesse. Le typage est statique : une erreur de type est détectée à la compilation, donc avant la mise en production. Les exceptions permettent de traiter les échecs de façon structurée, et le ramasse-miettes évite la plupart des erreurs de gestion mémoire.

List<Integer> nombres = new ArrayList<>();
// nombres.add("coin");   ← refusé par le compilateur, pas à l'exécution

En contrepartie, Java demande plus de code qu'un langage comme Python pour le même résultat. On revient sur cette critique au chapitre 13.

L'écosystème. Spring, Jakarta EE et Quarkus pour le web ; JPA et Hibernate pour la persistance ; Maven et Gradle pour la construction ; JUnit, Mockito et Testcontainers pour les tests ; Checkstyle, SpotBugs et SonarQube pour la qualité. Aucun de ces outils n'est au programme, mais vous les rencontrerez en entreprise.

La longévité. Il existe plusieurs distributions du JDK, et les versions LTS sont maintenues pendant des années. Dans la banque, l'assurance, l'administration ou l'industrie, beaucoup d'applications Java ont plus de quinze ans et sont toujours maintenues.

Idées reçues

Ce que « professionnelle » veut dire ici

Un exercice d'école est surtout jugé sur un critère : est-ce que le programme fonctionne ? En entreprise, on se pose aussi trois autres questions.

  • Le code est-il lisible ? Quelqu'un d'autre, ou vous-même dans trois mois, doit pouvoir le comprendre sans explication.
  • Peut-on le modifier facilement ? Les besoins changent. Ajouter un cas ne devrait pas obliger à relire tout le programme.
  • Peut-on le tester ? Si un test unitaire demande de lancer une base de données, c'est la conception qu'il faut revoir.

Organisation du polycopié

Le polycopié compte quatorze chapitres, celui-ci compris. Il n'est pas nécessaire de les lire dans l'ordre : chaque séquence du cours indique le chapitre qui la complète.

  • Les chapitres 3 à 9 couvrent les notions du socle, évaluées à l'épreuve écrite.
  • Le chapitre 10 présente des patrons de conception ; trois seulement sont certifiés.
  • Les chapitres 12 et 13 sont à lire, mais ne seront pas évalués.
  • Le chapitre 14 est un exercice : un code comportant des défauts, à analyser.

Les exemples utilisent tout au long du cours les mêmes classes : Canard, CanardColvert, CanardEnPlastique, Aile, Troupe, Dresseur, et l'entreprise fictive CanardFactory, dont le code est plein de défauts. Garder le même univers d'un chapitre à l'autre permet de se concentrer sur la notion étudiée plutôt que sur un nouvel exemple.