That C is supposed to be the most popular language makes the whole ranking questionable.
The stackoverflow ranking[1] corresponds much more to my own experience in real life.
I'd argue that StackOverflow shows what developers have the most questions about. This means that ranking is influenced by the amount of experience people have in the programming field, and leads to languages people commonly use as their first languages showing higher.
Besides that it's also influenced by how good the language is at explaining to the user what is going wrong. Clear error messages mean the user uses StackOverflow less, while arcane errors would mean they need to look for longer for the solution for their issue.
The stackoverflow ranking we are talking about is the result of a survey. It's not influenced by amount of experience. Experienced developers don't get greater or lower weighting in that survey.
True, however, the primary problem with the SO survey is the participants are self-selected [1], not randomly sampled. (It's explained in the survey's methodology).
What this means is we have no idea if the sample of programmers is representative of the worldwide programmer population.
I'd argue that C# and other Microsoft languages are vastly under-represented in the SO survey, but we have no way of knowing if that's true.
C is the most popular language for embedded systems development by a huge margin.
StackOverflow is also a place for asking questions. C is a relatively simple language and one which has been around for longer than most developers have been alive. There may just not be much left to ask about it.
Just about every larger company has an IT department where people write business or web applications. But not every larger company has people programming embedded systems. The TIOBE index simply does not reflect reality.
Every car, every industrial machine, every rocket, plane and tractor as well as the entire stack that your web applications run on in the cloud, the operating system, the infrastructure have significant parts written in C or C++. I think you need to take into account that the world of software extends beyond web applications and white collar services.
We sure are using more apps than ever. But I think we are also using more "smart" things than ever, and not just in the buzzword sense.
A ton of everyday object now have chips, from toothbrushes, thermometers, door bells, car keys, fire alarms, lights, even charging cables.
Considering drivers are coded for every variations of these appliances and chips, it look to me to be a tremendous amoubt of code written all over the world. Especially as writing code is cheaper than adapting hardware, even different uses of the same chip could get different drivers.
I'm mostly a C++ and Python programmer by a large margin, but I only ever visit Stackoverflow for Javascript questions or Linux distribution bugs/misfeatures.
This only represents the sad state of Javascript documentation, I think.
You been to MDN? their JavaScript Documentation is impeccable? What are you referring to? There are tons of JS resources available? Or are you referring to 3p libraries which vary in terms of their documentation and can be contributed by anyone?
> ...their JavaScript Documentation is impeccable?
Well, no. MDN doesn't answer the questions everyone has: "Which browser does this work on?" "Is it okay to use this new feature?" "Why does this buggy thing do this to me?" "Is it really true that you can't do <simple thing> in CSS"?
Etc. Web standards really aren't. (And I'm not even touching the third-party library churn problem here.)
Well, if you take away HTML/CSS and SQL, because most people would not call them programming languages, Python still comes in second, right above Java. So it's alright.
IMO, this is one of those theory vs practice things. CSS is turing-complete, but that’s really not how it’s used. So, excluding CSS really should also exclude SQL, though not TSQL.
C is simple on the surface but it gives you enough rope to shoot yourself in the foot that even after 6 years of using it I don't dare call it simple knowing my war scars.
Sure, but you probably don't go to stackoverflow to help you debug it. Stackoverflow is more for "how do I do X in Y" rather than "where is the error in my million line codebase"
I think there is a difference between simple and easy. I would say C is simple but still hard ;) I'm not a native english speaker so take this with a grain of salt.
I was a big stackoverflow user and then completely stopped using it when I switched to full time embedded C. Any APIs I was using or problems I hit were too niche.
[1] https://insights.stackoverflow.com/survey/2020#most-popular-...