• [^] # Re: Mouais...

    Posté par . En réponse au lien [The Register] To kill memory safety bugs in C code, try the TrapC fork. Évalué à 2.

    TrapC code resembles C/C++ code, but, according to Rowe, it's memory safe. That is to say, its pointers cannot produce segfaults, buffer overruns, or memory leaks. The programming language is designed to be link compatible with C, because it uses the same application binary interface (ABI). And supposedly it's safer than Rust because it lacks an "unsafe" keyword while also being easier to learn.

    Mouai. Ça me laisse songeur sur la question des compétences en C++ de la personne qui a écrit ce passage...

    its pointers cannot produce segfaults

    Les références C++ qui existent depuis... le début? Bon, en pratique, ça peut toujours segfault, quand tu fais de la merde, mais il faut vraiment y aller pour ça.

    buffer overruns

    Je suppose qu'il parle de buffer overflow, ici? Même le terme technique est mauvais!

    memory leaks

    C++ a toujours eu la RAII. Ok, avant C++11 le seul pointeur intelligent était auto_ptr, largement sous-utilisé, qui avais ses défauts, sans être inutile pour autant, mais même, au pire écrire des constructeurs et un destructeur c'est pas si difficile que ça.

    Ça me laisse vraiment songeur.
    De la même manière que Rust qui est vendu comme panacée si souvent, mais en dehors du multi-thread je n'arrive pas a me laisser persuader que ça soit si intéressant d'apprendre un langage qui ne possède qu'une seule implémentation et aucun standard officiel (a ma connaissance, et je précise que je ne suis pas super renseigné sur le sujet, par manque d'intérêt. Donc, si je me trompe, ma fois, faites vous plaiz' sur l'inutilage).

    Rust est vendu un peu comme si les langage non compilés ne souffraient pas de failles de sécurité mais juste de lenteur, et que C, C++, ADA, pascal... étaient rapides mais inutilisables pour écrire du code correct (clairement faux, bien que C (et peut-être pascal? qui garde l'avantage d'avoir des chaînes de caractères à la taille connue dès le début, contrairement au C) requiert effectivement un plus grande concentration pour ce résultat.
    Quand je vois le nombre de crash par memory leak & oom-killer de firefox sur mon système, ça me laisse vraiment, vraiment songeur. Rust a été inventé littéralement pour firefox, et pourtant?
    Pour ceux qui doutent de ce paragraphe, désactivez donc l'overcommit sur votre machine, vous allez rire.