robinHood (./5264) :
mais c'est rare, non ce n'est pas tous les jours, "généralement" ton programme plante direct, et tu dois tester ton code
si c'est ultra planqué c'est aussi peut être que la structure n'est pas assez simple ou lisible
Je ne voulais pas dire que ça arrive à tout le monde plusieurs fois par jours, mais que des failles de sécurité liées à ça sont découvertes tous les jours dans les logiciels les plus sérieux sur la sécurité, donc ça n'est clairement pas qu'une affaire de débutant.
Tu as peut être la chance de travailler sur du code simple, mais ça n'est malheureusement pas toujours le cas. On ne maîtrise pas toujours tout le code sur lequel on travaille, et le langage C ne rend pas forcément la base de code que tu hérites meilleure, loin de là.
robinHood (./5264) :
non c'est l'inverse, ce n'est pas le C qui à plus de temps c'est l'autre qui en aura moins "le langage est safe, donc bat lec code deux fois plus vite"
Ca dépend peut-être des sociétés, mais je peux te dire que c'est pas du tout ce que je constate. J'ai vu beaucoup plus de projets Java avec des politiques de qualité sérieuse que des project C ou C++.
Le sérieux dépend vraiment des moyens qu'acceptent d'y mettre les responsables. Et souvent quand on choisit un langage pour des raisons de sécurité, c'est justement parce qu'on s'en soucie. Quand on s'en moque, on se fiche pas mal du langage tant qu'on produit vite.
robinHood (./5264) :
la trisomie arrive => go le 100% éprouvette
planter ton c15 au bout de 8 ans arrive => go 100% voiture autonome
les dépassement de tampon arrivent => go interdire le C et tout réécrire
Au risque de me répéter : Personne ne dit qu'il faut absolument réécrire tout le C existant en urgence. Juste qu'il faut bien être conscient des risques et surtout ne pas dire : "Nous on est bons, ça ne nous concerne pas."
Toute technologie comportes des risque sur différent points à différents niveaux : il faut juste bien les évaluer et prendre les décisions en conséquence. On ne va bien sur pas récrire sans raison un code de qualité, utilisé dans un domaine pas particulièrement risqué.
Par contre quand on construit un nouveau langage, ça serait dommage de ne pas prendre en compte la sécurité, autant que possible au vu des objectifs.
robinHood (./5264) :
c'est juste qu'en réalité en voulant interdire les pointeurs vous attaquez frontalement ma méthode personnelle de dev (et vous enlevez le fun absolu)
généralement je n'utilise pas de for ni de variable intermédiaire, je calcule les adresses de fin et fais des while, partout, bref calculer la fin d'un buffer c'est mon quotidien
Encore une fois on n'impose rien a personne, on dit juste qu'il faut être conscient des problèmes potentiels.
Oui le C pose des risque supplémentaires comparé à d'autres langages, et si tu peux faire avec tant mieux pour toi, utilise le. Par contre, quelqu'un qui dit que le C ne pose pas de risque voire permet de le réduire m’inquiète.
robinHood (./5264) :
on dirait que le langage est le graal et va vous éviter tous les bugs du monde, vous faites la révolution et foutez à la poubelle la référence absolue depuis 60 ans juste pour un buffer overflow de temps en temps
On parle du langage parce qu'on est sur le sujet des langages, mais bien sur que ce n'est qu'un élément parmi d'autres. Et encore une fois on ne dit pas de mettre tout le C existant à la poubelle.