• [^] # Re: Destructeurs

    Posté par (site web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 1. Dernière modification le 10 mai 2016 à 23:26.

    Je ne suis pas d'accord sur le terme 'manuelle' ; pour moi la gestion mémoire de Rust est automatique, mais faite (en grande partie) à la compilation, et pas à l'exécution (comme avec les langages à GC)

    Yep, tout comme les techniques de RAII à la C++11 ( en particulier unique_ptr ) qui définit à la compilation le/les scopes et l'ownership de l'objet.

    Il est difficile de qualifié ce genre de memory management, ce n'est pas vraiment "manuel" car il y a une forme d'automatisme, mais ce n'est pas non plus complètement automatique, car contrairement un GC traditionnel, le développeur a le contrôle de la durée de vie de l'objet, de sa destruction, voir de sa stratégie d'allocation.

    C'est justement là tout l’intérêt du model: s'offrir 90% de la facilité d'un système de mémoire "complètement automatisé" tout en gardant la possibilité d'avoir une gestion "fine" quand le besoin s'en fait sentir.

    Mes excuses si ce que j'ai dit était confus précédemment. Pour moi "manuel" signifie tout ce qui n'est pas sur base de GC et qui donne un control manuel, y compris la RAII.