L'autre jour je devais compiler un projet CMake, et il a téléchargé pas mal de dépendance avec FetchContent_Declare et certaines dépendances avaient elle même des dépendances de cette façon
Oui, et moi, je connais des projects rust qui utilise cargo-audit et ont une CI qui fait particulièrement attention à quelles dépendances elles incluent.
Et quand tu regardes les failles de sécu dans les projects rust, des erreurs mémoire ou des races conditions t'en voient passer aussi.
Mais même si on regarde des gros projets (C++ pas C dalleur) comme on peut le voir ici : https://gist.github.com/flibitijibibo/b67910842ab95bb3decdf89d1502de88
Bah, on ne dépasse pas les 100 lignes de dépendances (qui effectivement preuves être biaisé, car ça n'inclue pas les dépendances statiques).
En Rust, un programme en CLI, en a facilement plus de 100, en GUI, on est plus dans les 400.
Je ne dis pas que ce n'est pas possible d'avoir un projet C qui va tirer une armée de dépendance à lui, ou qu'un project Rust seras forcément plein de dépendance peu connue qu'on ne sait pas d'où elle vienne.
Juste que par défaut, rajouter des dépendances en C, c'est pas aussi simple que rajouter une ligne dans cargo.toml, et il faut le faire soi-même, donc t'en évite beaucoup si t'en a pas vraiment besoins.
Au même titre que rajouter une CI asan/valgrind ça prend du temps, au même titre que rajouter un cargo-audit dans un runner gitlab/hub c'est chiant.
[^] # 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.
Oui, et moi, je connais des projects rust qui utilise cargo-audit et ont une CI qui fait particulièrement attention à quelles dépendances elles incluent.
Et quand tu regardes les failles de sécu dans les projects rust, des erreurs mémoire ou des races conditions t'en voient passer aussi.
Mais même si on regarde des gros projets (C++ pas C dalleur) comme on peut le voir ici :
https://gist.github.com/flibitijibibo/b67910842ab95bb3decdf89d1502de88
Bah, on ne dépasse pas les 100 lignes de dépendances (qui effectivement preuves être biaisé, car ça n'inclue pas les dépendances statiques).
En Rust, un programme en CLI, en a facilement plus de 100, en GUI, on est plus dans les 400.
Je ne dis pas que ce n'est pas possible d'avoir un projet C qui va tirer une armée de dépendance à lui, ou qu'un project Rust seras forcément plein de dépendance peu connue qu'on ne sait pas d'où elle vienne.
Juste que par défaut, rajouter des dépendances en C, c'est pas aussi simple que rajouter une ligne dans cargo.toml, et il faut le faire soi-même, donc t'en évite beaucoup si t'en a pas vraiment besoins.
Au même titre que rajouter une CI asan/valgrind ça prend du temps, au même titre que rajouter un cargo-audit dans un runner gitlab/hub c'est chiant.