Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> I have never come across an undefined behavior for which there was no practical work-around in reasonable time.

How would you know? You don't generally find out until a newer compiler release breaks your code.

> I have also never seen a language specification that answers all questions, not even Pascal or Ada.

Maybe, but I haven't see "upgrade your compiler, get a new security bug" be defended so aggressively in other languages. Probably more cultural than legalistic - obviously "the implementation is the spec" has its problems, but most languages commit to not breaking behaviour that most code relies on, even if that behaviour isn't actually written in the spec, which means that in practice the language (the social artifact) is possible to learn in a way that C isn't.

> I agree that implicit conversions are an unfortunate feature of C, but I think the same about all languages where you can easily assign floating point to integer variables (or vice versa), for example.

So don't use those languages either then?

> Cross-toolchain and cross-platform experiments are a constant activity with all the programming languages I use.

Sounds pretty unpleasant, I practically never need to do that.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: