Really? :(
2. Simple (LR1) grammar
3. Small, as a language
4. Static types (static need not be inflexible. Scala is static but very flexible. Perhaps overly so but whatever)
5. No undefined behaviour
6. All dumb holes such as buffer overflow always checked for
7. Good supporting tools (vague I agree but necessary)
8. Suitable, well-designed library
9. Not repeat not designed by the government which will make an utter mess of it all.
10. And pigs will soar
It really depends on the application. C & Linux will literally be around forever, but C isn't the best language for a line-of-business application like an unemployment system. Java would be a better fit for something like that.
- undefined behaviour
- non-portable binaries
- lack of rich and powerful standard library
- manual memory management requires developers of higher skill and discipline