• [^] # Re: Mais pourquoi diantre pas de RAII ?

    Posté par . En réponse à la dépêche De Zig et des zags. Évalué à 2.

    alors qu'un langage supportant le RAII n'aurait libéré le lock que quand guard n'est effectivement plus référencé, c'est à dire à la fin de la fonction main !

    Hum, oui mais en Zig tu ne l'aurai pas codé comme ça. Vu que Zig n'a pas de notion de destructeur, t'es obligé de mettre ton defer (et le unlock) dans le main (c'est d'ailleurs ce qu'il fait dans le post reddit que tu as cité).

    Et puisque maintenant c'est Vendredi, je vous laisse avec la justification pour fermer l'issue pour faire du vrai RAII en Zig ;-)

    La proposition du mot clé clean est intéressante, après je ne sais pas si ça rentre dans la philosophie du langage car ça masque le fait que ça va appeler une fonction, puis tu pourrai toujours oublié d'appeler clean.
    Mais c'est moins verbeux que ce qui est pratiqué aujourd'hui.

    Je comprends la volonté du/des créateurs de Zig d'être très conservateurs sur ce qui rentre ou pas dans le langage. Après, je trouve que cette gestion de la mémoire avec allocateur explicite est trop lourde dans bien des cas, c'est pourquoi je réserverai Zig pour de l'embarqué, de la programmation système ou des librairies qui ont besoin d'être très optimisées (genre librairie standard d'un langage, ce que fait Bun ou Roc).