I think we use languages like C because they won in the marketplace. Certain Unixes thrived in the market because they're cheap. Kernighan and Mashey (in "The Unix Programming Environment") argued that:
"Success or failure often depends on on nontechnical factors,
whose importance often goes unrecognized by those who evaluate
systems on purely technical terms."
(Shades of radical tech historian David Noble.)
Programming languages are products. Some win in the marketplace. Just as Kernighan and Mashey claimed, I too agree there's a technical bar that successful systems must pass, but beyond that minimal standard, nontechnical factors can dominate. (I rarely meet a programmer who gets to choose what language she implements in. Office politics lies this way.)
Most languages simply don't support many paradigms. They don't let programmers add something so simple as an improved for(;;) loop to the language (without rewriting the compiler and being unusable by most others), much less let you add powerful object-oriented features. Simple addition results in overflow when the numbers are a little too big. Most either don't support functional programming, while some focus on it so much that it's hard to simply iterate. Many barely have exceptions, not to mention anything more powerful. Most are weak at multiprocessing. Most don't easily let you work "under the covers" with the underlying machine. Most either don't support static typing, or do so to a stifling extreme.
Languages differ sharply in both semantics and syntax. In my view, both are vital. There is a bias in computer science against treating syntax as important, but for instance, fluid syntax turns out to be important to "code-is-data."
Tayssir