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.