Bien sur, la plupart des interpretés utilise un byte-code histoire d'aller plus vite, ça change rien.
Java et .Net aussi utilisent un bytecode. Quelle est la différence alors ?
(vu que ton reproche à l'égard de Python / Perl / Ruby était qu'ils étaient interprétés, ce qui devient une notion très floue au regard des techniques actuelles...)
et donc pleins de vérifications ne peuvent pas etre faites en amont, t'es obligé de les faire à la main
Les vérifications de type (ou plus exactement de signature) sont faites à l'exécution, si le type n'accepte pas la méthode que tu lui demandes tu as droit à un traceback. Il n'y a rien à faire à la main, sauf si tu veux remplacer le traceback par un autre message d'erreur.
[^] # Re: Python
Posté par Antoine . En réponse à la dépêche Interview de Miguel de Icaza par O'reilly. Évalué à 2.
Java et .Net aussi utilisent un bytecode. Quelle est la différence alors ?
(vu que ton reproche à l'égard de Python / Perl / Ruby était qu'ils étaient interprétés, ce qui devient une notion très floue au regard des techniques actuelles...)
et donc pleins de vérifications ne peuvent pas etre faites en amont, t'es obligé de les faire à la main
Les vérifications de type (ou plus exactement de signature) sont faites à l'exécution, si le type n'accepte pas la méthode que tu lui demandes tu as droit à un traceback. Il n'y a rien à faire à la main, sauf si tu veux remplacer le traceback par un autre message d'erreur.