Tu noteras que les problèmes du C sont connus, bien documentés et malgré tout avec les années on a toujours un taux de faille élevé dans un domaine qui pourrait être réduit à presque zéro dans d'autres langages.
Il peut être réduit à strictement zéro, en fait, avec des environnements à machine virtuelle comme LISP (dont les supporters ralaient dans le;années 60 sur les développeurs utilisant des langages compilés unsafe avec exactement les mêmes arguments que les supportes de Rust utilisent aujourd'hui) ou SmallTalk. La raison pour laquelle ça n'a pas pris, c'est qu'il y avait un coût en performances relativement important. Rust a fait tomber cette limite (et encore, je vais faire grincer des dents des développears Ada en disant ça).
Je développe moi aussi beaucoup de C++, mais il faut arrêter d'essayer de présenter les inconvénients du langage (pas memory safe, pas de système de build standardisé, pas d'outil de gestion des dépendances, par de règle de formattage et de nommage standardisées) comme des avantages.
Avec Cargo, on peut récupérer plein de bibliothèques bien implémentées pour tout un tas de trucs,et personellement j'ai tendance à avoir plus confiance dans ces bibliothèques oue dans ma capacité (ou celle de mes collègues) à réimplémenter les choses de façon sécurisée et avec de bonnes performances. Et puis en plus, j'ai autre chose à faire que développer pour la 72000ème fois un arbre binaire ou une autre structure de base...
[^] # Re: Petite question à ceux qui "baignent" encore dans le C
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Vulnérabilités multiples dans sudo-rs. Évalué à 7.
Il peut être réduit à strictement zéro, en fait, avec des environnements à machine virtuelle comme LISP (dont les supporters ralaient dans le;années 60 sur les développeurs utilisant des langages compilés unsafe avec exactement les mêmes arguments que les supportes de Rust utilisent aujourd'hui) ou SmallTalk. La raison pour laquelle ça n'a pas pris, c'est qu'il y avait un coût en performances relativement important. Rust a fait tomber cette limite (et encore, je vais faire grincer des dents des développears Ada en disant ça).
Je développe moi aussi beaucoup de C++, mais il faut arrêter d'essayer de présenter les inconvénients du langage (pas memory safe, pas de système de build standardisé, pas d'outil de gestion des dépendances, par de règle de formattage et de nommage standardisées) comme des avantages.
Avec Cargo, on peut récupérer plein de bibliothèques bien implémentées pour tout un tas de trucs,et personellement j'ai tendance à avoir plus confiance dans ces bibliothèques oue dans ma capacité (ou celle de mes collègues) à réimplémenter les choses de façon sécurisée et avec de bonnes performances. Et puis en plus, j'ai autre chose à faire que développer pour la 72000ème fois un arbre binaire ou une autre structure de base...