Par contre, il a des destructeurs. J’espère donc qu’il supplantera Ruby.
Quand tu as un gc, ce n'est pas génial AMHA (même si à un moment donné le gc fait ce que tu veux ça veut dire que tu dépend du comportement de ton gc, qui peut changer au cours du temps). À moins que le langage ne te donne la garantie que le destructeur va être appelé à un moment donné. Mais globalement, si tu veux reproduire du RAII avec des gc le mieux est d'avoir une structure de contrôle comme le with de python ou le try-with-resource de java (tu construit ton objet qui encapsule ta ressource au début du bloc et il appelle la méthode __exit__ ou close en sortant du bloc.
En python je sais pas, mais en java tu peux vérifier que tous les objets closables sont bien construit dans de tels blocs.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Destructeurs
Posté par barmic . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 5.
Quand tu as un gc, ce n'est pas génial AMHA (même si à un moment donné le gc fait ce que tu veux ça veut dire que tu dépend du comportement de ton gc, qui peut changer au cours du temps). À moins que le langage ne te donne la garantie que le destructeur va être appelé à un moment donné. Mais globalement, si tu veux reproduire du RAII avec des gc le mieux est d'avoir une structure de contrôle comme le
withde python ou letry-with-resourcede java (tu construit ton objet qui encapsule ta ressource au début du bloc et il appelle la méthode__exit__oucloseen sortant du bloc.En python je sais pas, mais en java tu peux vérifier que tous les objets closables sont bien construit dans de tels blocs.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)