• [^] # 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.

    Mouarf. Soit les bibliothèques et applications C qui ont régulièrement des trous de sécu et des fuites mémoire sont écrites par des clampins (c'est quand même ballot, ça : ils auraient dû demander l'aide des gens comme toi), soit tu surestimes largement la protection contre les défauts qu'apportent des compétences en programmation bas niveau.

    La "safety" d'un langage et sa gestion mémoire sont deux chose différentes.

    Tu as des programmes vulnérabilité dans Java et PHP tout aussi souvent que dans des bloats en C, pourtant ces langages sont à mémoire managé.

    Rust est plus résistant aux buffer overflow que la plupart des langages des script, pourtant sa gestion mémoire est manuel. La différence c'est qu'il a été désigné avec la sécurité en tête comme priorité. Il en va de même pour Swift d'Apple.

    Ce que tu constates, c'est que le C est unsafe. Et Oui il l'est.
    Il l'est par design dù avec son arithmétique des pointeurs, pas à cause de sa gestion des allocations / desallocations ou parceque tu peux faire des memory pool.

    Tu peux d'ailleurs faire un buffer overflow ou créer une faille de sécurité en C sans même faire une seule allocation dynamique.

    l'arithmétique des pointeurs en C te permet de te promener partout en mémoire, pratiquement sans restriction... forcement ça a un cout en terme de sécurité, même si c'est extrêmement puissant