Re:A Guide to Undefined Behavior in C and C++ (2010)
by otabdeveloper2 on Sunday November 04, 2018 @04:23AM
(#18375021)
UB is an implementation issue, not a language issue. UB is a fact of life that cannot be removed by overspecifying a language -- if your language spec has too much implementation-specific stuff in it, then compiler writers will simply ignore it. Many such examples. The best you can do is to document the implementation-specific stuff extensively.
Also, implementation-specific details aren't always about maximizing performance. Compilers implement languages slightly differently because of architecture and OS differences and because it's easier that way for the people writing compilers.
Re:A Guide to Undefined Behavior in C and C++ (2010)
by pjmlp on Sunday November 04, 2018 @04:35AM
(#18375049)
UB is not implementation specific at all, the ISO documentation is quite clear about which is which.
Other systems languages manage to do it quite well.
It was really a shame that Bell Labs gave UNIX away for a symbolic price during 10 years before being allowed to actually sell it.
We wouldn't be having this kind of C related talks.
Because they prefer to loose a couple of ms to paying the price of the ultimate performance might bring.
Like in real life you can speed at 300 KMH with a 1200cc motorbike, or doing it a car with reinforced structure wearing seatbelts and airbags.
Even with diminished chances of survival, I rather be in the car.