« [...] apporte quelques choses que les langages natifs n'ont pratiquement pas: l'introspection. »
L'introspection ça coûte rien en temps à l'execution (que de la place et pas beaucoup en plus) à compiler en natif[1]. Ce qui coute c'est la réflexivité (qu'il me semble que Java n'a pas de toute façon[2] mais que ruby et python ont).
La différence entre les deux c'est que le premier permet de visiter les structures et données du langages à l'exécution (« ya telle classe avec telle méthode de telle nom », c'est bien pour faire des composants) et le second permet de modifier les structures et donnés du langages à l'exécution (« tiens, je vais creer une nouvelle classe, tiens maintenant cette méthode ne me plait plus, je vais la changer... » c'est bien pour faire des tas de trucs, tres puissant mais c'est galère à compiler efficacement)
[1] Il me semble que SmartEiffel la propose (dans la dernière release ou béta, à vérifier)
[2] Je devrais me tenir plus au courant, j'ai honte :)
[^] # Re: hum
Posté par MrTout . En réponse à la dépêche Eclipse compilé en natif.. Évalué à 4.
L'introspection ça coûte rien en temps à l'execution (que de la place et pas beaucoup en plus) à compiler en natif[1]. Ce qui coute c'est la réflexivité (qu'il me semble que Java n'a pas de toute façon[2] mais que ruby et python ont).
La différence entre les deux c'est que le premier permet de visiter les structures et données du langages à l'exécution (« ya telle classe avec telle méthode de telle nom », c'est bien pour faire des composants) et le second permet de modifier les structures et donnés du langages à l'exécution (« tiens, je vais creer une nouvelle classe, tiens maintenant cette méthode ne me plait plus, je vais la changer... » c'est bien pour faire des tas de trucs, tres puissant mais c'est galère à compiler efficacement)
[1] Il me semble que SmartEiffel la propose (dans la dernière release ou béta, à vérifier)
[2] Je devrais me tenir plus au courant, j'ai honte :)