• [^] # Re: Destructeurs

    Posté par . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 5.

    C'est un avis pour le moins surprenant. Le compteur de référence n'est qu'un élément. Python a bien des pauses pendant la libération des anciens objets qui ne sont plus utilisés. Peux-tu détailler pourquoi tu ne considères pas ça comme un Garbage Collector ?

    Ce n'est pas un garbage collector genre mark/sweep ou compactant : il se contente de collecter les cycles, donc ce qui n'est pas libéré par le comptage de référence. Donc en gros il ne va pas faire d'analyse du graphe d'objets et des piles, contrairement à des GCs comme on l'entend classiquement (Java, Go...) (je parle de cPython uniquement).

    A priori, Julia s'en sort bien pour le calcul scientifique. Et Erlang a plus que fait ses preuves pour les systèmes embarqués.

    Ca dépend vraiment des contraintes : si par exemple tu vises des latences inférieures à la ms ça va être très dur avec un GC dès que la taille du tas devient conséquente, même si Azul par exemple a vraiment révolutionné le domaine.
    Mais après c'est vrai que beaucoup de gens tapent sur les GCs sans vraiment savoir de quoi ils parlent, et c'est frustrant en 2016 d'avoir des failles dues à buffer/stack overflows plusieurs fois par semaine...