On the other hand, C doesn't seem to attract the same type of programmers because the language itself is relatively spartan. I have a theory that simpler languages naturally encourage programmers to find simpler solutions both for themselves and the machine (thus possibly being more efficient), because more complex ones would involve more work. Asm is an extreme example, where you have to basically write every instruction the machine will execute --- and in such a scenario, even if it's mostly library calls, you're not going to want to construct and destruct a dozen objects unless you absolutely, unconditionally need to.