Dependable C

14 points by jado


kornel

It seems very generic and beginner-level advice: try not to write UB, try not to make non-portable assumptions, try not to fall for the handful of other gotchas. Okay?

It's shallow and doesn't really tackle any real problems. It rejects C11 and suggests POSIX threads instead. Last time I checked, POSIX wasn't dependable in MSVC (in MSVC even fopen isn't dependable due to stdlib mangling Unicode filenames).

And the Why is C the safest language? is so confused. It scolds security researches for not using the scientific method, but the whole section is based on treating correlation as causation. Many "security-critical" projects use C despite its unsafety. For a long time, C was the only language that met performance and interop requirements such projects had, which forced them to accept the dangers of C and deal with consequences.

f2l2pe

Defaulting to C89 is already enough for me to disregard everything else. C99 is by far a much better language.