Tout code C contient des comportements indéfinis selon un expert

Original : Everything in C is undefined behavior

Pourquoi c'est important

Remet en question la sécurité des langages C/C++ dans le développement moderne

Un développeur expérimenté affirme qu'aucun programmeur ne peut écrire du C ou C++ correct, citant les comportements indéfinis omniprésents dans ces langages datant de 1972-1985, inadaptés à l'environnement de 2026.

Thomas Habets, développeur C/C++ depuis 30 ans, soutient que tous les codes C et C++ non-triviaux contiennent des comportements indéfinis (UB). Il explique que les UB ne sont pas liés aux optimisations du compilateur mais permettent au compilateur d'assumer la validité du code. L'article illustre avec l'exemple de l'alignement des pointeurs : accéder à un objet mal aligné provoque des comportements différents selon l'architecture (émulation kernel sur Alpha, crash SIGBUS sur SPARC, fonctionnement sur x86). L'auteur argue qu'il est injuste de blâmer les programmeurs quand personne ne peut écrire du code correct dans ces langages obsolètes.

Source

blog.habets.se — Lire l'original →