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

As I said, C is gnarly, mostly for legacy and "practicality" (WorseIsBetter) reasons.

Undefined behaviour, declared as in a language standard, isn't too bad; it might forbid some potentially-useful combinations of expressions, but there'll usually be a workaround.

The problem is compilers which allow undefined behaviour by default, rather than aborting with a helpful error message. This puts the burden of avoiding undefined behaviour on the programmer, which is really bad. This might be unsolvable for C, due to the nature of its particular undefined behaviour.

For brand new languages, I'd recommend minimising undefined behaviour as much as possible, but definitely ensure that any that remains can be found statically!



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

Search: