Pierre Chapuis catwell@archlinux.us écrit :
Quelles sont tes définitions de :
- natif ? Une application qui tourne sur la JVM n'a rien de "natif" pour moi. Dans pas mal de contextes, "natif" est même synonyme de "pas Java"...
Oui, abus de langage de ma part. J'entends par appli native une appli donc le code est executé sur le client. Par opposition aux clients légers qui s'executent sur le serveur et/ou dans un navigateur. Ce n'est pas natif dans le sens où on produit du code directement compilé pour la plateforme cible.
- portable ? Une application Java est (au mieux) portable sur les plate-formes où il existe une implémentation de la JVM. Une application en Python est (au mieux) portable sur celles où il existe une implémentation de Python. Une application .NET peut être relativement portable si elle tourne avec Mono...
Comme tout ce qui est interprété, oui, c'est portable tant que l'interpréteur est porté. Avec néanmoins certaines limites : certaines implémentations sur certains environnements limitent la portabilité. Et c'est peut-être encore un abus de langage de ma part, mais tout ce qui nécessite une JVM est par définition interprété.