Je ne connais pas très bien java et encore moins Python mais je connais par contre bien le C# ainsi que le Ruby. J'ai développé dans ces deux langages et bien je peux dire une chose :
A partir d'une certaine taille de projet (disons 10'000 lignes), les langages à typage dynamique deviennent une plaie à utiliser. pourquoi ?
Beaucoup d'erreurs qui sont levées à l'exécution (parfois chez le client) auraient pu être détectée à la compilation dans le cas d'un langage statiquement typé.
Même des fautes de frappe toutes connes peuvent engendrer des problèmes beaucoup plus tard. par exemple un appel de méthode inexistant "monObjet.aficher()" ne se verra qu'a l'exécution dans le cas de Ruby. Ok le Ruby/python c'est souple on peut faire plein de chose (ducktyping et cie) mais personnellement je pense justement que cette souplesse est plus un inconvénient qu'un avantage dans beaucoup de cas.
On est obligé d'imposer des consignes très strictes en matière de codage comme par exemple documenter de manière formel le type des paramètres des méthodes.
Je ne dis pas que le typage statique et meilleur que le typage dynamique, l'un et l'autre ont leurs avantages et inconvénients. Je pense que Python et Java peuvent très bien être utilisés conjointement, l'utilisation de l'un ou de l'autre dépend du type de la problématique.
# Dynamiquement typé ou statiquement typé ?
Posté par Ummon . En réponse au journal Python et les décideurs. Évalué à 8.
A partir d'une certaine taille de projet (disons 10'000 lignes), les langages à typage dynamique deviennent une plaie à utiliser. pourquoi ?
Beaucoup d'erreurs qui sont levées à l'exécution (parfois chez le client) auraient pu être détectée à la compilation dans le cas d'un langage statiquement typé.
Même des fautes de frappe toutes connes peuvent engendrer des problèmes beaucoup plus tard. par exemple un appel de méthode inexistant "monObjet.aficher()" ne se verra qu'a l'exécution dans le cas de Ruby. Ok le Ruby/python c'est souple on peut faire plein de chose (ducktyping et cie) mais personnellement je pense justement que cette souplesse est plus un inconvénient qu'un avantage dans beaucoup de cas.
On est obligé d'imposer des consignes très strictes en matière de codage comme par exemple documenter de manière formel le type des paramètres des méthodes.
Je ne dis pas que le typage statique et meilleur que le typage dynamique, l'un et l'autre ont leurs avantages et inconvénients. Je pense que Python et Java peuvent très bien être utilisés conjointement, l'utilisation de l'un ou de l'autre dépend du type de la problématique.