Je ne trouve pas le bytecode JVM spécialement immonde, c'est un bytecode raisonnable (bien qu'un peu miné par les problématiques de compatibilités) pour représenter du code Java ou ayant la même sémantique qu'un programme Java, et des gens (Scala par exemple) sont arrivés, au prix de beaucoup d'efforts, à lui donner un peu plus de flexibilité.
Par contre je ne suis toujours pas d'accord pour l'appeler un "langage machine"; c'est au mieux un "langage pour machine virtuelle" (ce qui indique bien qu'il s'agit en fait d'une représentation intermédiaire). Je pense que dans le désaccord entre cykl et toi sur "peut-on dire que la compilation vers la JVM relève du même genre de victoire de l'existant au dépend de la pertinence technique absolue que Javascript", il a raison et tu as tort, et que ta contre-argumentation sur la question ("mais non, le bytecode JVM est une forme d'assembleur"), une fois passée la confusion de vocabulaire entre "compiler vers un source Java" ou "compiler vers un bytecode JVM" (il voulait bien entendu dire vers la JVM), est incorrecte.
Mais visiblement nous sommes en désaccord et, au bout du bout, toute la question repose sur le sens qu'on choisit de donner ou pas au terme "langage machine", donc ça n'a pas grand intérêt. Par contre la remarque de cykl (on se force à viser la JVM ou Javascript alors que c'est souvent malcommode) est juste, intéressante et tient toujours, quoi que les amateurs de "java processors" en disent.
(Et pour moi la question de dire que tu as tort sur ce point technique particulier est relativement indépendante de la critique que j'ai formulée avant, sur la façon dont vous avez discuté. Enfin je l'ai pris en compte quand j'ai dis que tes messages n'apportaient pas de contenu technique : on pourrait considérer la distinction "JVM langage machine ou non" comme un point technique, mais comme je pense que tu as tort1 je ne l'ai pas vraiment pris en compte comme un apport qualitatif à la discussion.)
1: il y a des débats où on peut tirer des informations très intéressantes de gens avec qui on n'est pas d'accord ou qui pensent des choses partiellement fausses, je ne dis pas que par définition une personne avec qui on est en désaccord n'apporte rien, pour nous, à la conversation; c'est en poussant les deux côtés du débat à avancer des arguments précis qu'on apprend des choses. Mais ici le débat porte sur une question de terminologie, sans vraiment d'argument précis puisque ça reste au final assez subjectif, donc on n'a pas gagné grand chose.
[^] # Re: Compilateur
Posté par gasche . En réponse au journal Nouveau projet OpenSource chez Microsoft: TypeScript. Évalué à 3. Dernière modification le 04 octobre 2012 à 15:41.
Je ne trouve pas le bytecode JVM spécialement immonde, c'est un bytecode raisonnable (bien qu'un peu miné par les problématiques de compatibilités) pour représenter du code Java ou ayant la même sémantique qu'un programme Java, et des gens (Scala par exemple) sont arrivés, au prix de beaucoup d'efforts, à lui donner un peu plus de flexibilité.
Par contre je ne suis toujours pas d'accord pour l'appeler un "langage machine"; c'est au mieux un "langage pour machine virtuelle" (ce qui indique bien qu'il s'agit en fait d'une représentation intermédiaire). Je pense que dans le désaccord entre cykl et toi sur "peut-on dire que la compilation vers la JVM relève du même genre de victoire de l'existant au dépend de la pertinence technique absolue que Javascript", il a raison et tu as tort, et que ta contre-argumentation sur la question ("mais non, le bytecode JVM est une forme d'assembleur"), une fois passée la confusion de vocabulaire entre "compiler vers un source Java" ou "compiler vers un bytecode JVM" (il voulait bien entendu dire vers la JVM), est incorrecte.
Mais visiblement nous sommes en désaccord et, au bout du bout, toute la question repose sur le sens qu'on choisit de donner ou pas au terme "langage machine", donc ça n'a pas grand intérêt. Par contre la remarque de cykl (on se force à viser la JVM ou Javascript alors que c'est souvent malcommode) est juste, intéressante et tient toujours, quoi que les amateurs de "java processors" en disent.
(Et pour moi la question de dire que tu as tort sur ce point technique particulier est relativement indépendante de la critique que j'ai formulée avant, sur la façon dont vous avez discuté. Enfin je l'ai pris en compte quand j'ai dis que tes messages n'apportaient pas de contenu technique : on pourrait considérer la distinction "JVM langage machine ou non" comme un point technique, mais comme je pense que tu as tort1 je ne l'ai pas vraiment pris en compte comme un apport qualitatif à la discussion.)
1: il y a des débats où on peut tirer des informations très intéressantes de gens avec qui on n'est pas d'accord ou qui pensent des choses partiellement fausses, je ne dis pas que par définition une personne avec qui on est en désaccord n'apporte rien, pour nous, à la conversation; c'est en poussant les deux côtés du débat à avancer des arguments précis qu'on apprend des choses. Mais ici le débat porte sur une question de terminologie, sans vraiment d'argument précis puisque ça reste au final assez subjectif, donc on n'a pas gagné grand chose.