J'ai utilisé Java pendant 6-7 ans, mais il y a quelques mois, j'ai découvert Groovy et j'ai commencé à économiser beaucoup de temps de frappe... Ensuite, je me suis demandé comment certaines choses fonctionnaient sous le capot (parce que les performances de groovy sont vraiment médiocres) et j'ai compris que pour vous donner dactylographie dynamique cada Groovy est un objet MetaClass
qui gère toutes les choses que la JVM ne peut pas gérer elle-même. Bien sûr, cela introduit une couche intermédiaire entre ce que vous écrivez et ce que vous exécutez, ce qui ralentit tout.
Il y a quelques jours, j'ai commencé à recevoir des informations sur les sujets suivants Scala . Comment ces deux langues se comparent-elles dans leurs traductions du code d'octets ? Combien de choses ajoutent-ils à la structure normale que l'on obtiendrait par un code Java simple ?
Je veux dire.., Scala es statique typée , de sorte qu'une enveloppe de Java devraient être plus légères, puisque beaucoup de choses sont vérifiées au moment de la compilation, mais je ne suis pas sûr des différences réelles de ce qui se passe à l'intérieur. (Je ne parle pas de l'aspect fonctionnel des classes de Scala par rapport aux autres, c'est différent)
Quelqu'un peut-il m'éclairer ?
De Commentaires de SyntaxT3rr0r il semble que la seule façon d'obtenir moins de typage et la même performance soit d'écrire un traducteur intermédiaire qui traduise quelque chose en Java (en laissant javac le compiler) sans modifier la façon dont les choses sont exécutées, en ajoutant simplement du sucre syntaxique sans se soucier des autres retombées du langage lui-même.