The central problem of C and C++ is that they require programmers to do their own memory management
Every good work of software starts by scratching a developers personal itch.
Programmer time is expensive; conserve it in preference to machine time
Complexity control is the central problem of writing software in the real world
The combination of threads, remote-procedure-call interfaces, and heavyweight object-oriented design is especially dangerous... if you are ever invited onto a project that is supposed to feature all three, fleeing in terror might well be an appropriate reaction.
A critical factor in its success was that the X developers were willing to give the sources away for free in accordance with the hacker ethic, and able to distribute them over the Internet.