C’est mieux mais tu ne peux pas par exemple en C (comme dans quasiment tous les langages) décrire la propriété d’un pointeur dans l’API. Si tu me renvoi un pointeur, suis‐je celui qui doit le libérer ou non ?
Effectivement, généralement, ça fait partie de la Documentation/Convention de nommage, et c'est facile de se tromper.
Je suppose que ça fait aussi partie des choses que peuvent rapporter les binding Rust pour le code C, ça force à re-réfléchir la gestion des ownership dans les API C.
Est‐il plus facile de faire confiance en sa chaîne de dépendance en C ?
Oui, vu que tu rajoutes toi-même la majorité des dépendances dans le Makefile/Cmake, et donc t'a moins de dépendances surprises, que cargo t'a sortie, tu ne sais pas vraiment comment.
Que c'est chiant à faire, et donc tu vas éviter d'en rajouter, sauf si besoins. (ça peut paraitre comme négative, mais c'est aussi la raison pour laquelle je préfère le C au C++, C me force à utiliser des fonctions quand je n'ai pas besoins d'un objet)
Que tu utilises généralement des lib dynamique, et donc tu peux faire confiance à l'OS pour fixer les faille de sécurité pour toi.
Fait des ldd dans tes /bin, et tu auras rarement plus de 20/25 dépendances.
En Rust, t'en a rarement moins de 120.
Et s'il y a une faille de sécurité, t'est forcé de re-packager ton application vu que c'est du static.
[^] # Re: mode Brice on
Posté par uso (site web personnel) . En réponse au journal Linus répond à la controverse sur R4L (Rust pour Linux). Évalué à 3.
Effectivement, généralement, ça fait partie de la Documentation/Convention de nommage, et c'est facile de se tromper.
Je suppose que ça fait aussi partie des choses que peuvent rapporter les binding Rust pour le code C, ça force à re-réfléchir la gestion des ownership dans les API C.
Oui, vu que tu rajoutes toi-même la majorité des dépendances dans le Makefile/Cmake, et donc t'a moins de dépendances surprises, que cargo t'a sortie, tu ne sais pas vraiment comment.
Que c'est chiant à faire, et donc tu vas éviter d'en rajouter, sauf si besoins. (ça peut paraitre comme négative, mais c'est aussi la raison pour laquelle je préfère le C au C++, C me force à utiliser des fonctions quand je n'ai pas besoins d'un objet)
Que tu utilises généralement des lib dynamique, et donc tu peux faire confiance à l'OS pour fixer les faille de sécurité pour toi.
Fait des ldd dans tes /bin, et tu auras rarement plus de 20/25 dépendances.
En Rust, t'en a rarement moins de 120.
Et s'il y a une faille de sécurité, t'est forcé de re-packager ton application vu que c'est du static.
C'est dalleur l'un des blocages qu'à systemd pour adopter rust: https://lwn.net/SubscriberLink/1008721/7c31808d76480012/