Fragen? Antworten! Siehe auch: Alternativlos
Insofern könnte man argumentieren, dass die Compiler-Leute ja in gewissem Sinne genau das tun. Aber sie haben es halt so gemacht, dass vorher funktionierende Programme plötzlich zu funktionieren aufgehört haben. Und das auch noch an Stellen, an denen der Code für das Verhindern von Sicherheitslücken da war; da haben die Compiler dann angefangen, die Sicherheitschecks wegzumachen.
Zu meiner Überraschung sind die Rants teilweise angekommen, und die aktuellen Versionen von gcc und clang sind weniger aggressiv als frühere Versionen, aber die Büchse der Pandora ist jetzt halt offen, und es ist nicht wirklich absehbar, wie sich das langfristig entwickeln soll.
Ich erzähle das alles, weil ich gerade dieses schöne Paper zu dem Thema gefunden habe, von den Leuten hinter GNU Forth, die schön beschreiben, dass man beispielsweise eine Funktion wie memmove (seit ewigen Zeiten Teil des C-Standards) nicht in C implementieren kann, ohne formaljuristisch gesehen undefiniertes Verhalten zu erzeugen. Daher: Klare Leseempfehlung!