GCC Compiler

Undefiniertes Verhalten - Was soll das überhaupt sein? Wenn ein Entwickler eine Zeile Code hinschreibt, dann hat er eine Verstellung was er damit bezwecken möchte. Da ist einfach kein Platz für undefiniertes Verhalten. Wenn irgendein Code-Konstrukt undefiniertes Verhalten erzeugen würde, dann ist es einfach zurück zuweisen. Öfter gehört, die Aussage, und gerne von Programmierern die den GCC Compiler favorisieren.



Es ist die Denkweise von GCC-Autisten, wie sie dem Programmierer möglichst viele Fallen stellen können. Das Spiel lautet:

Finde die absurdeste Interpretation des Codes, mit welcher der Programmierer am wenigstens rechnet, die noch irgendwie vom Standard gedeckt ist und nenne das "Optimierung".

Es hat schon seinen Grund, warum man bei FreeBSD den GCC komplett rausgeschmissen hat.
Gleiches gilt natürlich auch für Sprachstandards: Da gibt es irgendeinen obskuren Compiler von Konzern X, der macht unter den Umständen Y das am wenigsten vernünftige Z und das wollen wir nicht ändern, also schreiben wir genau dieses Verhalten als Komiteemitglied im C-Standard fest.

Dann kommen irgendwelche Kasper und erzählen, daß Programmiersprachen wie C unglaublich "schwer" und C-Programmierer ja so dumm wären, weil diese Standards und von Autisten erstellte Tools kompletter Schrott sind. Fakt ist: Der  C11-Standard ist völlig irrelevant, da vom am häufigsten verwendeten C-Compiler (MSVC) überhaupt nicht unterstützt wird. Wie auch schon C99 nicht.