Java et la robustesse du code
Présentation
Java
a la réputation d'être un langage de programmation
robuste. Quels sont les caractéristiques qui en font un langage
robuste.
Qu'est-ce que la robustesse:
- Détection des erreurs à la compilation plutot qu'à l'exécution;
- Attraper facilement des erreurs de programmation;
- Poursuivre l'exécution du programme en cas de lecture de données invalides;
- Permettre de faire évoluer le code sans casser la fonctionnalité existante.
Gestion de la mémoire
- Par
rapport à C/C++ : Pas de lecture ou écriture hors de
l'espace mémoire alloué; débordement de tableau
détecté.
- Par rapport à C# : Par de section unsafe.
Gestion des exceptions
- Par
rapport à C/C++ : Les erreurs sont normalement retournées
par des exceptions, et non par des codes d'erreurs. .
- Par rapport à C# : Gestion des exceptions vérifiées (checked exceptions).
Typage fort
- Par rapport à C/C++ : Certains bogues sont détectés par le compilateur.
- Par rapport à C# : Déclaration explicite du type.
Indépendance de la plate-forme
- Par rapport à C/C++ : L'API cache des particularités liées à la plate-forme.
- Par rapport à C# : Seul Windows est fortement soutenu par C#.
Chargement des classes
- Par rapport à C/C++ : Il existe un langage intermédiarre (le bytecode).
- Par
rapport à C# : Le logiciel compilé et
archivé (.jar) est dans un format ouvert, indépendant de
la plate-forme, et documenté. Permettre d'écrire son
propre chargeur de classe (ClassLoader).
Conclusion
Ces caractéristiques font de Java un langage qui mérite sa
réputation d'être un langage robuste.
Dernière mise à jour: 26 aout 2018.