mareek a écrit a écrit :
La différence, c'est que le bytecode est quand même plus optimisé qu'un bête fichier de code en
|
Erreur : contrairement a ce qu'on croit, le bytecode Java est tres peu optimise (on peu le desassembler et retrouver mot pour mot le code qu'on a tapé ou presque ... il remplace quand même "i = i + 1" par "i++"
).
Pour sa part Eiffel optimise a un niveau "objet" avant de generer du C ... le C obtenu est donc déjà une version très optimisée de ton source objet. Sauf que c'est pas à un niveau physique (optimisation de boucle, etc etc) mais plutot à un niveau logique (resolution de type, etc etc). Il fait même beaucoup plus fort que C++ dans ce domaine. Au final (je dis ca un peu plus haut), dans le cas de projets importants Eiffel est plus rapide que C++
mareek a écrit a écrit :
c'est dans la philosophie de Java d'être portable alors que le C a été développé pour Unix au départ.
|
C'ets vrai, mais si on se cantonne a un certain sous ensemble de C, on se retrouve avec des progs completement portables : le legendaire 'printf("Hello, world!" )' fonctionne partout, par exemple. Comme je disais dans un post précédent, un source C généré par Eiffel peut être compilé sur une flopée d'OS sans problème ...