Oui oui, je me doute bien que le JVM fait des optimisations aussi
Simplement je dis que le VM de js en fait pas mal aussi et que la différence n'est pas aussi énorme qu'on pourrait le penser quand on connait seulement de loin les deux systèmes. Après, on pourrait vérifier en effet.
La méthode "manuelle",c 'est pas dit. Au lieu de faire
class A extends B {... }
tu fais
objA.prototype = objB;
ou en version plus "class":
A.prototype = new B();
c'est pas la mort non plus.
Groovy a l'air pas mal franchement, mais pour le coup j'étais plus séduit par haxe par exemple (haxe.org) où ils ont ajouté une couche de typage statique et une certaine discipline pour les morphismes d'objet dynamiquement.