Je pense que la programmation par contrat (introduite par Eiffel avec les notions d'assertions/pre-post conditions/invriants, reprise par GNU nana pour le C ) est la meilleure pour développer rapidement des programmes sans bugs (ajoutons y aussi les tests de régression). http://www.artima.com/intv/pycontract.html(...)
assert fait partie de python, mais je crois que le typage faible fait que un grand nombre d'appels d'une fonction ne respectant pas le cahier des charges de cette fonction (envoi par erreur d'objets de nature completement différente de celle attendue) ne sont pas détectés automatiquement par l'interpréteur (et nécessitent donc l'écriture d'assertions supplémentaires).
Est-il prévu d'améliorer le support de la programmation par contrat dans Python ?
(typage + fort en option, notions de pre/post/invariant, ...)
Concernant la compilation de python: est-il prévu d'améliorer la vitesse d'exécution de Python par la compilation (executables, librairies) ou par des techniques à la hotspot ?
# Typages/contrats et compilation
Posté par free2.org . En réponse à la dépêche Vos questions à Guido van Rossum (Python). Évalué à 10.
Je pense que la programmation par contrat (introduite par Eiffel avec les notions d'assertions/pre-post conditions/invriants, reprise par GNU nana pour le C ) est la meilleure pour développer rapidement des programmes sans bugs (ajoutons y aussi les tests de régression).
http://www.artima.com/intv/pycontract.html(...)
assert fait partie de python, mais je crois que le typage faible fait que un grand nombre d'appels d'une fonction ne respectant pas le cahier des charges de cette fonction (envoi par erreur d'objets de nature completement différente de celle attendue) ne sont pas détectés automatiquement par l'interpréteur (et nécessitent donc l'écriture d'assertions supplémentaires).
Est-il prévu d'améliorer le support de la programmation par contrat dans Python ?
(typage + fort en option, notions de pre/post/invariant, ...)
Concernant la compilation de python: est-il prévu d'améliorer la vitesse d'exécution de Python par la compilation (executables, librairies) ou par des techniques à la hotspot ?