But developing a strict specification of a solution (standardization) does not make the shortcomings of this solution disappear. The flaws are still there, it's just that now they have formal "anointing" from the standards committee. I also did not claim that C did not undergo certain changes and corrections. Only that these were rather superficial corrections in the language itself.
As someone who had to combine a C89 and a C11 codebase I can only disagree. Unless you mean the very superficial features like syntactic structures, sure C will always stay c. A pointer will always be declared by the * operator. But to me Syntax doesn't matter. I know many Pascal programmers boil the differences in language down to begin-end vs { }, but that's just a difference without a distinction. There have been major changes in C such as the introduction of a bool type, introduction of the stdint types, inline variables, complex numbers, vlas, removing of implicit typing, stricter requirements on function signatures. Just to name a few changes they did to the language.
Agreed, improvement is generally perceived positively. However, changes introduced in C may be perceived in different ways. What is a very big change (a real big, maybe groundbreaking, improvement) for one person is just a minor superficial patch (a useful but still minor improvement, change, not a major improvement) for another person. This is because people have various needs.
You identify the popularity of a technical solution with its quality. These are two different things. At one time, the Trabant was very popular in Central Europe. Was it the most successful car model? Or maybe its popularity was due to something else? It was (and still is) similar with the C language. It is popular despite its many flaws. And not because it has many advantages. Simply put, large corporations are hostages to an old technical solution. This is simply technical debt.
Did you really compare a car that was the result of import/export restrictions between different blocks with the most popular programming languages around the world for 50 years?
C is older than the GDR ever got and there are hundreds of programming languages out there anyone can use for free. People in central Europe simply couldn't get a Volkswagen or a Fiat. But anyone can use Pascal instead of C. And let me remind you that Microsoft tried to kill C with their proprietary MSVC++ and COM but failed
In the case of the Trabant, there were several different reasons why people in Central Europe did not have access to better cars (i.e. not only restrictions on import and export). The main source of the problems was communism imposed from above by the USSR (and supported by local regimes), which blocked everything: education, research development, inventiveness, industriousness, industry. In this area, various proposals appeared from time to time, but they quickly died due to lack of financial support and top-down decisions of state apparatuses. All activities of the residents of the "people's democracies" had to fit the communist party line. Any questioning of the communist status quo was suppressed. Therefore, the achievements of these countries were such "Trabants" (i.e.: somehow it worked and had to be enough for these people).
In the case of C, its dominance distorted the thinking of most programmers. For years, a tirade was promoted: "C is the best because Unix was written in it. Period.". Meanwhile, this is just a kind of computer dogma, a kind of computer ideology. If Unix had not been created, another OS would have taken its place. And then, perhaps, the costs of software development would be lower and its quality better? Of course, we will never know today. But we were left with this outdated technical solution (I mean: C) – for so many years! And to this day, “the IT terrain is sterile”, because most IT people believe (yes, believe!) that Unix and C were the greatest achievements of humanity in IT. Meanwhile, the basis of development is skepticism, searching for flaws in existing solutions, and not reveling in half-baked solutions (improvements in C) and falling into self-satisfaction (“well, we improved it, now it's great”).
So yes being the most popular solution for well over half a *century* with free access to hundreds of alternatives is a sign of quality. That's not just a fluke. C must be doing something right. It exists nearly as long as computers exist and has been the most popular programming language over all this time.
The most popular doesn't mean the best. JavaScript is the most popular! Why? Because it is mandatory. You can't use anything else in a WWW browser. This is a kind of specific coercion. The use of C has in a way "concreted" the IT area (in this negative sense). C was used not because it was the best, but because people very often had no choice. And the more they used it, the more code grew. At some point they became hostages to this behavior due to the amount of code. Exactly the same way as it happened with Cobol earlier. But the dependency is much greater than in the case of Cobol.
But let no one accuse me of only complaining about C and not seeing its advantages. Yes, it has advantages, or rather one. Or more precisely, its compiler has this advantage. It is the ability to generate machine code, which is quite efficient in operation.