• [^] # Re: Sympa ce comparatif

    Posté par . En réponse à la dépêche "The Great Computer Language Shootout" Divers langages et compilateur au banc d'essai. Évalué à 4.

    >Je ne vois pas le rapport entre l'article vers lequel tu pointes et les bugs dans les librairies standards.

    Exact, l'article parle de bug de JVM, mais en plus il y a des bugs de la librairie standard.
    En 98 j'ai essaye d'utiliser Java (surtout Swing)
    --> degoute.
    En plus Sun met un temps dingue pour les corriger ses bugs: il faut compter 2-3 ans pour des bugs pour lesquels des milliers de personnes ont vote dans la BugParade..

    > Mais rien qui ne rende Java inutilisable, loin de là,
    Ca depend des domaines: essaye de faire des IHM ou d'imprimer des trucs non-triviaux et on en reparle.

    > Quant au problème du double-checked locking, comme il est dit dans l'article ce n'est pas un bug, mais un comportement dû au modèle de mémoire utilisé dans Java.

    Mouais c'est une drole de feature quand meme!
    Ca, plus le fait que l'affectation d'un long est non-atomique suivant les JVM.
    Il peut tres bien affecter les 32-bits de la partie haute puis etre interrompu et ensuite seulement affecter la partie basse.
    Cf le meme site.

    > Et la solution est toute simple tu n'as qu'à déclarer toute ta méthode getInstance() synchronized ...

    Certes dans tout les cas, un bon synchronised au bon endroit resout le probleme, mais avant encore faut-il trouver ou se situe le probleme!
    Le deboguage d'application multi-threadee avec des comportements aussi bizarre des JVM doit etre coton..