3 ms·
C is utterly predictable. Maybe you're the exploding chainsaw in this metaphor.
by chrisd1100 10y ago
C is utterly predictable. Maybe you're the exploding chainsaw in this metaphor.
- adamnemecek 10y agoHow detailed is your knowledge of undefined behavior?
- module0000 10y agoWe know when undefined behavior will occur(the specs are written very clearly), but not what will happen when it occurs. Our job as competent C programmers is to avoid undefined behavior. C isn't hard(perhaps tedious to do correctly) - it does exactly what you tell it to.
- adrianN 10y agoYou'd be hard pressed to find a non-trivial C program that doesn't contain any undefined behavior.
- sidlls 10y agoDepends on what you mean by "non-trivial," I should think.
- pcwalton 10y ago> it does exactly what you tell it to. This is a tautology. What do you expect to happen on signed overflow?
- mathw 10y agoIt does, but it's unnecessarily difficult to keep track of all the places undefined behaviour might occur and make sure you don't step into any of them under any conditions ever. We shouldn't have to work like this anymore. C's been an amazing language, but it's getting time to gently, respectfully, move on. There's active and interesting development in alternatives which attempt to retain C's primary advantages while also allowing the compiler to keep you out of trouble as much as possible. We have hugely powerful computers available to use as developers. We can contemplate designing and compiling languages with a complexity which would have completely defeated the systems available when C was developed. Why shouldn't we use some of that power to make our lives easier?