Software interfaces: C99 Macro format strings?!? typedef_is_evil_t makes the preprocessor more twisted long doubles/hex floats Variable Length Arrays/sizeof mess unsigned to signed 'promoted' types in some cases... Multi byte character encodings (including source files) makes it harder to write a C compiler makes it harder to write static analysis tools