Ne pas utiliser un tournevis comme un marteau
Python n'est pas un langage statiquement typé, alors n'essayez pas de l'utiliser de cette façon.
Lorsque vous utilisez un outil spécifique, vous l'utilisez pour ce qu'il a été construit. Pour Python, cela signifie:
Duck-typing : pas de vérification de type. Seul le comportement de la matière. Par conséquent, votre code doit être conçu pour utiliser cette fonctionnalité. Une bonne conception des moyens de signatures génériques, pas de dépendances entre les composants, les haut niveaux d'abstraction.. Donc si vous changez quelque chose, vous n'aurez pas à changer le reste du code. Python ne vais pas me plaindre non plus, que ce qu'il a été construit pour les. Les Types ne sont pas un problème.
Énorme bibliothèque standard. Vous n'avez pas besoin de changer toutes vos appels dans le programme si vous utilisez les fonctions standard, vous n'avez pas codé toi-même. Et Python venir avec piles incluses. Je garde la découverte de tous les jours. Je n'avais aucune idée du nombre de modules que je pouvais utiliser quand j'ai commencé et a essayé de recréer des trucs comme tout le monde. C'est OK, vous ne pouvez pas obtenir tout cela dès le début.
Vous n'avez pas écrit en Java, C++, Python, PHP, Erlang, que ce soit, de la même manière. Ils sont de bonnes raisons pourquoi il ya de la place pour chacun de tant de langues différentes, ils ne font pas les mêmes choses.
Les tests unitaires ne sont pas un substitut
Les tests unitaires doivent être réalisées avec n'importe quelle langue. La plus célèbre bibliothèque de tests unitaires (JUnit) est de Java monde!
Cela n'a rien à voir avec les types. Vous vérifiez les comportements, encore une fois. Vous éviter des ennuis avec la régression. Vous vous assurer que votre client, vous êtes sur les pistes.
Python pour les projets à grande échelle
Langues, bibliothèques et frameworks
n'est pas à l'échelle. Architectures faire.
Si vous concevez une solide architecture, si vous êtes en mesure de le faire évolue rapidement, puis il sera mis à l'échelle. Les tests unitaires de l'aide, automatique code de vérification. Mais ils sont tout de filets de sécurité. Et les petits.
Python est particulièrement adapté pour les grands projets, car elle met en application les bonnes pratiques et a beaucoup de d'habitude les modèles de conception intégré. Mais encore une fois, ne pas l'utiliser pour ce qu'il n'est pas conçu. E. g : Python n'est pas une technologie pour les tâches gourmandes en CPU.
Dans un grand projet, vous êtes plus susceptibles d'utiliser différentes technologies, de toute façon. Comme un SGBD et un langage de templating, ou autre. Python n'est pas une exception.
Vous aurez probablement envie d'utiliser le C/C++ pour la partie de votre code, vous devez être rapide. Ou Java pour s'adapter dans un Tomcat de l'environnement. Ne pas savoir, ne pas s'inquiéter. Python peut jouer avec elles.
En conclusion
Ma réponse peut se sentir un peu grossier, mais ne vous méprenez pas: c'est une très bonne question.
Beaucoup de gens viennent à Python avec les vieilles habitudes. Je vis moi-même en essayant de code Java comme Python. Vous pouvez, mais ne jamais obtenir le meilleur de lui.
Si vous avez joué / voulez-vous jouer avec Python, c'est génial! C'est un outil merveilleux. Mais juste un outil, vraiment.