Voiture maVoiture = new Voiture("ford fiesta");
à quoi ça sert de préciser que maVoiture est de type Voiture (si je voulais transtyper en Vehicule je l'aurai dit)?
Peut être, mais grâce à cette information qui te parait redondante, le compilateur Java t'interdira d'utiliser maVoiture comme si c'était une carrotte, à moins que tu le veuilles vraiment explicitement.
Avec Python, ça passera tout debout jusqu'au moment où l'utilisateur ou le testeur exécute le bout de code pourri.
Moralité, dans le cas Java, il est beaucoup plus facile d'éviter les erreurs débiles, car elles sont détectés à la compilation, alors qu'en Python l'erreur ne sera détectée qu'à l'exécution (d'un jeu de test unitaire, de l'appli par la personne qui teste, ... ou par l'utilsateur).
En bref, de mon point de vue (qui va certainement pas plaire à tout le monde), il vaut mieux que le langage soit rigoureux, car le développeur, aussi rigoureux qu'il soit, n'est pas à l'abri d'un oubli. Certes, le développement est en général un peu plus long avec un langage comme Java plutôt qu'avec un langage comme Python, mais par la suite au niveau de la maintenance, les avantages/inconvénients se retrouvent inversés.
# Java vs Python
Posté par icyfemur . En réponse au journal PyQt, QtJambi, et les autres. Évalué à 4.
Peut être, mais grâce à cette information qui te parait redondante, le compilateur Java t'interdira d'utiliser maVoiture comme si c'était une carrotte, à moins que tu le veuilles vraiment explicitement.
Avec Python, ça passera tout debout jusqu'au moment où l'utilisateur ou le testeur exécute le bout de code pourri.
Moralité, dans le cas Java, il est beaucoup plus facile d'éviter les erreurs débiles, car elles sont détectés à la compilation, alors qu'en Python l'erreur ne sera détectée qu'à l'exécution (d'un jeu de test unitaire, de l'appli par la personne qui teste, ... ou par l'utilsateur).
En bref, de mon point de vue (qui va certainement pas plaire à tout le monde), il vaut mieux que le langage soit rigoureux, car le développeur, aussi rigoureux qu'il soit, n'est pas à l'abri d'un oubli. Certes, le développement est en général un peu plus long avec un langage comme Java plutôt qu'avec un langage comme Python, mais par la suite au niveau de la maintenance, les avantages/inconvénients se retrouvent inversés.