7. Don't write code in C
Chose a high-level language like Python, Haskell, Lisp… Anything with closures and automatic memory management, provided it let you fall back to C when you really need it.
Outside maintenance, few project need to use C or C++ all the time.