Je suis d'accord, le problème essentiel de Java est son occupation mémoire causée par les un java.lang.Object complètement bloated. Ceci étant, ce n'est pas une fatalité :
1) il existe des techniques pour virer le verrou nécessaire au synchronized. C'est implémenté dans SableVM (http://www.sablevm.org/(...)).
2) des langages objets plus vieux de Java (Eiffel et Sather) ont une notion d'objets passés par valeur (et uniquement par valeur) qui ressemblent aux structs du C et qui permettent de régler le problème poser par Integer. Comme le typage devient 100% statique avec ces objets, on peut s'arranger pour qu'ils occupent exactement la place mémoire nécessaire. Pour les petits objets type Integer, ou nombre complexe, c'est la fête.
[^] # Re: IBM demande à Sun de "libérer" Java
Posté par boubou . En réponse à la dépêche IBM demande à Sun de "libérer" Java. Évalué à 2.
1) il existe des techniques pour virer le verrou nécessaire au synchronized. C'est implémenté dans SableVM (http://www.sablevm.org/(...)).
2) des langages objets plus vieux de Java (Eiffel et Sather) ont une notion d'objets passés par valeur (et uniquement par valeur) qui ressemblent aux structs du C et qui permettent de régler le problème poser par Integer. Comme le typage devient 100% statique avec ces objets, on peut s'arranger pour qu'ils occupent exactement la place mémoire nécessaire. Pour les petits objets type Integer, ou nombre complexe, c'est la fête.