Posted
by
timothyon Sunday November 06, 2011 @11:30AM
from the drag-out-your-cliches dept.

AlexDomo writes to point out this statistical breakdown of the programming languages represented at StackOverflow. "Suprisingly, JavaScript turned out to be the most 'over-represented' language on StackOverflow, by quite a long way at 294% [where "a representation of 100% means that the SO tag count is aligned exactly with the TIOBE language index"]. Could this also be because programming JavaScript is generally quite difficult and will result in people seeking help more often? Following this was C# (which I had expected to be number 1), at 153%. After this, PHP, Ruby and Python were basically fairly balanced at around 100%. The most 'under-represented' major language would definitely be C at 11%. Three other major languages which seemed to be a bit under-represented, below 50%, were C++, Java and Objective-C. For details of the method used and the full results, refer to the original article." One of the attached comments makes an interesting point about the difficulty in divining meaning from such statistics, though.

JavaScript is most often used for client-side web scripting. I imagine a lot of javascript tagged stackoverflow questions are related to figuring out the HTML DOM, which can be confusing, or trying to figure out browser quirks, jQuery syntax, etc

On the other end, I don't know anyone personally who is in the process of learning C. Everyone I know who uses it are old C hackers who have years and years of experience, and aren't likely to need to ask many questions about it.

Really? I actually know a lot of universities whose courses still include C (separate section of a C++ course) and x86 assembly, since they're regarded as one of the best ways of understanding essential basics using familiar technologies.

Yup, on my Software Engineering course we learned C with assembly as part of a "computer systems architecture" class.
Additionally, at a different university where I started a CompSci degree, the whole first semester was *only* C programming. Again, the idea was that it was a good language to teach programming basics and principles, getting us into good coding habits (that often go forgotten if starting with, say, an interpreted language) and generally getting us used to native coding as opposed to the mor

In my day (late 80s) we took classes in Fortran and Pascal... then they made you do semester long projects in C - no pre-requisite C class, hell I don't think they even offered a C class. Reasoning was, if you knew Pascal, C was pretty close and you should be able to figure it out.

At 11% on the survey, I'd mark that as a success of C - no reason to ask questions, they have all been answered already.

I'm guess you've never actually used Pascal before? (either that or you've never used C).

There are some glaring superficial differences between Pascal and C, and thats about it. I've converted 1000s of lines of Pascal to C with very little effort, the structure can stay _exactly_ the same, just fix the blocks and do some standard find/replace. Try converting BASIC to Pascal or C and get back to me.

Background is similar to GP, learned everything in Pascal, including the old school Mac Toolbox (all Pascal), then one day everything new had to be C, you had to figure it out yourself. Not a big deal though- very similar...

Every non-object oriented imperative systems programming language can easily be converted into any other. There are bigger issues in the conversion:

1) strings. Pascal uses length + value, C uses null-terminated strings2) memory allocation is different. C is better though. It would be much harder translating C to pascal imho.3) Calling conventions. Though both C and Pascal support mostly any calling convention, hooking one up to the other correctly is a minefield. Although I suppose that's not a problem if

I'd like to rephrase Your point a bit:Javascript is in the #1 spot because the process of learning js is much more fragmented and because the language usually is utilized inside a browser environment, which complicates the language's behavior even more.

A lot of people are learning to write js via copy paste tutorials which are distributed via many blogs and forums. Also a lot of people (eg: web designers) get to grips with the language by putting ready to use modules into their HTML pages. Now learning through the Internet is very much feasible, I'm not saying that. The problem from learning in this fashion is that your knowledge is very much fragmented, having usually no specific understanding of the program structure you should target and therefore ending up debugging very obscure problems.

Javascript is unique in this (followed maybe by php) because for most other languages you have to set up an environment, get to grips with a compiler etc. This usually is seen as an obstacle but because of those prerequisites people usually take learning those other languages much more seriously, reading much more documentation (hardcopy or online).

Perhaps it's because JS developers have to deal with incompatible browsers and wildly different levels of support and a relatively small standard library.I've rarely needed more than a good reference manual for C/C++/Java/PHP/etc., but for JS I'm regularly googling (or indeed on StackOverflow) for a solution to dealing with the latest IE incompatibility or finding a way to do something basic that'll work in all browsers I'm trying to support.Or perhaps developers of, for example, C# or Java can find their a

Or perhaps developers of, for example, C# or Java can find their answers without using StackOverflow. My process for searching solution is Google first, StackOverflow second.

TBH the majourity of (imediatly closed ofc) questions on SO regarding Java are: why is it throwing this Exception (most of the time NullPointerException) and: why does it not find my class? (Because people simply don't get the concept [or don't even now about] of a PATH variable and hence the CLASSPATH variable). My process for searchin

C and C++ can provide an in depth foundation of concepts used in languages such as Java and C#. Both Java and C# dictate programming targeting the core run time (CLR) not the underlying OS. Both Java and C# provide the means to bypass the run time and go native but to do so adds some complexity to maintaining the run time processes. Things like memory management, threading, and GC implementation are a few examples. Run time targeted languages support these types of functionality but they do not provide the

I agree that they both contribute. I mentioned this specifically in my post. However wasn't C/C++ created before Java? If that is the case then the Java designers had something to compare their efforts against during the creation phase. I'm not claiming that the Java creators just copied certain aspects of the C/C++ language but they did have the opportunity to study any C/C++ weaknesses during their design efforts. On another note I just worked on a multiple tier application that required the creation of a

No they just took me off my intended project and made me the C++ developer for the application. I am not claiming I am some sort of C++ prodigy but I had enough knowledge to build this component. This happened around 8 months ago and to my knowledge they have not recruited or trained any programmers that can handle C++ work. The only other guy with C++ experience, and he was much more knowledgeable than me in C++ re-signed a few weeks after I started for reasons that did not involve this project.

The reason Javascript is the most popular is obvious (to me at least): the web is based primarily on three languages - HTML, CSS, and Javascript. With those three, one can do most of what they want with a website. More advanced languages are for more advanced applications. Now, when some geek-lite decides they want to make a website, as many people now toy with, they are going to learn what? The advanced languages or HTML, CSS, and Javascript?

Javascript is the most common not because it's the most difficult. It's the most common because it's the most sought after. Supply - Demand.

what this means (and what larry bagina points to) is that the rate of clueless (as in: advice needing) individuals from those that use js is much higher than the same rate for other languages.roughly that means: the mean js developer/tinkerer is the least knowledgeable developer/tinkerer (accepting that every one person only tinkers with one lang of course)

That assumes that the TIOBE index is accurate, and I have no strong belief that it is. I know that in my area, there are not 3x as many Java jobs as there are C# jobs. In fact, Java has been losing a lot of ground since the Oracle takeover.

What's more, there's a lot of difference between an Enterprise Java developer, and a mobile Java developer. It'a almost completely different skill sets.

And certainly, C has lost a lot of popularity in the workplace. It's primarily only used in Unix and Embedded enviro

Agreed. I drew a similar conclusion:A typical hypothetical Perl programmer probably has a questions about some Perl libraries from time to time and posts about it. That programmer probably very rarely posts a question about C# or Ruby because that programmer doesn't ever need to touch those languages in his day to day work. That programmer will probably start asking questions about Javascript if he is tasked with writing a web application. I would have expected the same for the declarative languages SQL

I don't disagree with your post, however, many good programmers start out as "shitty" programmers.That's simply because not everyone has the background or know-how to get into a "code mentality" right away, and asking stupid questions is a good way to learn (specially if you realize that your question was, indeed, stupid).I don't think reputation points and badges are worth anything though, but that's me. Still, you can see a incredible amount of really good, informative and "stimulating"** answers posted t

So maybe what it tells us is Javascript is where a lot of people get their start coming from non programming fields, and they hit stack overflow having no clue what they're doing. People who learned programming, in any language, don't land on SO because they know most of the basic stuff anyway, and of course most people who learn to program learn to do so in one of the C family and Java.

I suspect that, in JavaScript's case, it's because there are a lot of things that can go wrong. In C, once you understand pointers that's 90% of the difficulty gone. With JavaScript, you have weird quicks of the scoping, strangeness related to the semicolon insertion and the bizarre binding behaviour of return, and that's before you get into browser-specific quicks and DOM weirdness.

Virtually all of the questions asked there can be answered by doing the following:
1) Reading the documentation of the programming language, library or software in question.
2) Having even a basic level of skill with the technology in question.

A big problem with this is that when "the library" is "All of the.NET framework" just going through the docs isn't always as easy as it seems. And even if you do find what you think is the right parts of it to use you can find yourself confused right up to the point where you ask a question on StackOverflow and someone helpfully points out that.NET actually has multiple implementations of what you want to do and that the obvious one is rarely the right one. Not to mention actual honest-to-god bugs and implementation quirks that aren't mentioned in the official docs (sure, you can search all of MSDN and hope to stumble across some MS advisory that explains a workaround but even then you might find it is overly specific, if you find it at all).

As for JavaScript there are definitely a lot of beginners out there trying to use it. There is also the issue of JavaScript being frequently used with (X)HTML, CSS and some web service that it fetches data from. Couple this with a lot of the information about JavaScript out there being wrong or outdated and it isn't really that strange that a lot of developers who would normally mainly work in say, Java, C# or Python, find themselves confused and facing conflicting information on how to solve a seemingly strange problem. JavaScript as implemented by various browsers also has a few oddities (both in terms of differing implementations and plain WTFs that are bound to baffle developers unfamiliar with it).

While certainly, there are a large number of questions that could easily be solved by googling, many questions are more subtle or deal with issues that are not well documented.

Particularly in technologies that change quickly, there is a huge need for this kind of site. One problem with googling information that changes quickly (for example, Linux) is that information that's out there quickly gets out of date, and people spend hours trying to solve their problems with inaccurate how-to's and man pages. Ask

Virtually all of the questions asked there can be answered by doing the following:
1) Reading the documentation of the programming language, library or software in question.

This is one reason there are so many JavaScript (perhaps actually DOM) questions -- where is the documentation to answer questions like "how do I do x, across every major browser versions which didn't really follow standards well"? If I'm programming in, say, Java or C++ with some framework where I control more of the environment, I can go to one place to answer questions, but there's no one definitive source for these cross browser problems.

The problem isn't Javascript (though it's certainly not my first choice of languages), it's the DOM. The problem is that there's about 5-10 versions of the DOM that you have to worry about, and you never know how browser X implemented its DOM. I think you've got it backwards -- you get lots of Javascript questions because good programmers get frustrated writing multiple implementations of the same code for each browser, and want to find something that "just works" so they can move on to some more interest

Virtually all of the questions asked there can be answered by doing the following:1) Reading the documentation of the programming language, library or software in question.2) Having even a basic level of skill with the technology in question.

Sorry mister elite anonymous super hacker, you can not be more wrong, at least for yur point 1).

Most documentation is just bad, really bad. For someone who likes to learn stuff by himself he has really trouble find what he is looking for.

There is also a possibility of people knowing about certain languages more than the others. In other words, in general, somebody programming in C might know the language better than somebody who is doing Javascript.

Having strong foundation is important to know how to get stuff done before using the 'internet'. Certain languages are just better at that.

I agree. Most C questions are about pointers or tricky data structures done the C way, and since there are already plenty of answers for those topics, it's redundant to ask them again. The site even tries to show similar questions when you start asking, so there's often no reason to repeat such questions.

I think C is a very straightforward language once you know its quirks, so I feel the article makes sense. Also the whole webapp fad surely contributes to Javascript having a lot of questions.

I think the underlying cause of this disparity is the lack of a solid, authoritative JS development environment. When C# programmers are confused, they turn to MS's documentation. When Java programmers are confused, they turn to Snoracle's documentation. C programmers probably turn to K&R or whatever textbook they were brought up with; or perhaps the vendor documentation again.

But Javascript doesn't work that way. Any given piece of code has to run on at least four implementations (Mozilla, Microsoft

You will not get far away with K&R (although the "C Programming Language" is THE must have book on the shelf). Most of the questions that C Programmers ask are on a compiler forums and they are mostly compiler related. For beginners there are so many language tutorials that there is no need to ask (1000 times already asked) questions on SO.

People doing C# are professional developers or hobbyists with a genuine interest in programming.

People doing Javascript are the average Joes in the street who just built their first HTML page and want to know how to make a hover button or whatever but really just aren't interested in programming in general.

Actually, my personal case with C was just that. I would have loved some of that formal training though, but there are enough resources to actually do as you say with web languages. Just the contents (and useful links) in StackOverflow can help you getting a lot of insight on C and its tricky trickiness.

I wouldn't say Javascript is a particularly difficult language to program, but there is a huge variation in the skill sets of people developing in it, with a heavy bias towards those who couldn't write an original line of code to save their ass. This is the type of programmer who will flood message boards with requests for help with trivial little problems.

It's not necessarily because of ignorant programmers, reusing existing code is not a bad thing in itself. But yes, Javascript is mostly copy&paste because it's very modular. Big programs are rare, it's mostly just snippets of code implementing specific controls so it's very easy to copy.

It don't surprise me that it seems to correlate to the age of the language multiplied by how widespread the use, with "newer" languages that are widely used being the most represented.

I don't think it has anything to do with how difficult Javascript is, but more to what the programming experience is of the person using the language. I'm sure there are more would be more posts asking about QBasic than LISP if there was internet in 1994 like there is today.

It don't surprise me that it seems to correlate to the age of the language multiplied by how widespread the use, with "newer" languages that are widely used being the most represented.

I don't think it has anything to do with how difficult Javascript is, but more to what the programming experience is of the person using the language. I'm sure there are more would be more posts asking about QBasic than LISP if there was internet in 1994 like there is today.

Also people using C/Java/etc. can self-teach by digging through libraries themselves.

Age only tells part of the story. I think everyone can agree that JavaScript is special, but here's why I think the 100% or less languages ended up where they did:

Java and C++ are established, well documented, and developers tend to be working in teams rather than isolation (I assume Objective-C has similar characteristics but I will not claim to know such).

PHP tends to (but isn't always) used by hobbyist or in isolation.

Ruby and Python are relatively new to the scene and have been experiencing a lot of

At my institution through the 90s and early 2000s we had to have many more Windows tech support "firemen" than apple support techs. Indeed there basically were no virus and networking and printier driver conflict fires to put out. You didn't have to worry about interrupt conflicts between PC cards. No fires.

The result was every time there was an major IT decision, the windows support techs would out vote the apple support techs. Lots of windows only software became standards and at one point there was

I think this is something specific to where you've worked, I've never heard of a company where all IT decisions go to popular vote amongst the techies, most places have IT managers who make such decisions and it really then comes down to an objective decision if competent, a biased decision if incompetent or outright corrupt.

People with specialist knowledge in the realm of the decision in question may get asked their opinion or it may get passed down to them, but popular vote as a strategy for IT decision m

"Suprisingly, JavaScript turned out to be the most 'over-represented' language on StackOverflow, [...]Could this also be because programming JavaScript is generally quite difficult and will result in people seeking help more often?

I think that JavaScript is also used by people that do not understand it very well, and they are more likely to resort to the kind of help that this website provides.

Following this was C# (which I had expected to be number 1), at 153%. After this, PHP, Ruby and Python were basically fairly balanced at around 100%. The most 'under-represented' major language would definitely be C at 11%.

I am a C programmer and do not need help from this "stack overflow" web site.My references are the C programming language standards and the single UNIX specification.

-Do we ask questions because of difficulty or because the underlying technology is more popular?-Are javascript developers more likely to use sites like stackoverflow vs traditional means (books, mailing list, forums, etc).-Do we underestimate javascript usage? Does javascript span more projects, i.e. I have a C# based web-project, but still use javascript for the UI.

These are the underlying questions that would have to be answered before we could derive anything from this sort of analysis. That said, in

Well, recent developments in the software world have made Javascript kind of an ubiquitous language. You can find a lot of apps that can be scripted using JS nowadays, not just web browsers.

Also, StackOverflow is a damn good place to ask questions, I can see why people would prefer to books or mailing lists and forums. Forums leave too many questions unanswered, mailing lists can be terribly slow, and books aren't free (nor available worldwide).

-Do we ask questions because the language implementation does things differently than we are used to doing in another language or that would defy common convention. Since it's needed for your job, you need to find out what way that is.

-Does javascript span more projects, i.e. I have a C# based web-project, but still use javascript for the UI.

I think that has a lot to do with it. I mostly do C, Ruby, and Python, but I've had to do JavaScript a lot more than I would expect, and my knowledge of it is still rather limited. I know programming and software development both rather well, but I've never put the time to really learn JavaScript.

I think web designers with little to no programming experience account for this, no?

Those who use C++, Java, etc. are more likely to either be in training to become software engineers (for whom stackoverflow would be cheating), or are working as software engineers (and rarely need stackoverflow).

I have been on the receiving end of this bashing, and yet there is some (albeit very little) truth to the notion. "Programming", as I understand it, is different from "scripting" which is what (many people think) web development is. Apart from the HTML and CSS part (which is technically neither...what is it called exactly??) web development revolves around writing scripts to handle events (PHP, for example, to handle an HTML form submission). People seem to think that this development style is not "real pro

Javascript is - according to its author - the most misunderstood programming language in the world. While it bears surface similarity to languages like C and Java, and allows you for simple programs to be similar in structure to these, its core design is much closer to LISP (and the syntax quite efficiently obscures/hides that), and so few people truly understand it... so questions are very frequent.

They clearly tried to manage their data using javascript, a big mistake from the get-go. If they'd have taken the same data and parsed with with Perl, they would have found that all the questions came from Python and Ruby people. Had they done it in C++, all the questions would have come from C# users. Had they done it in PL/SQL they would have found that the questions all came from rounding errors.

And if they had done it in assembly, they would have found there were no questions at all...

It's probably because Javascript has the largest proportion of amateur programmers who aren't willing to learn the language they are programming in. They won't buy a book, they won't take a class, they won't read an online manual or tutorial. What they will do is download a free script and they beg others to customize it for them. This is usually prefaced with "I don't know Javascript, but I have to...."

Instead, they happily program away, using trial-and-error. When they can't figure something out, they type a question into Google. [...]
-- Joel Spolsky, stackoverflow.com [joelonsoftware.com] (several months prior to the site actually existing)

Does that scare you? Bother you? Leave you a depressed shell of a man, thinking seriously about that potato-farming slash fracking job you left behind back in Idaho?

Well, it probably should. But regardless, that's reality: and that's the audience Stack Overflow was created to serve. So that the apps we're using every day aren't being cobbled together by folks who think DynamicDrive.com and W3Schools are the last word in programming knowledge. If nothing else, this little chart indicates it's working...

Why is that scary? I don't think books are a particularly good way of learning to write software. Often times you don't know exactly what it is you need to learn until you get there. Obviously you need a good foundation so you don't end up gluing a bunch of stuff together and creating a mess of memory leaks, but you don't need a book for every little topic.

One way I often use StackOverflow is to find better solutions to something I already know how to solve. Python has a lot of neat features that, when

To me is somthing as simple as that: most Objective-C developers are coding for Apple plattforms, so they ask in an Apple-specific place. My C++ coding is usually done with Qt, so I will ask in a Qt related place. Linux kernel developers are not going to ask C questions on stack overflow, they ask in a linux-related site.

Stackoverflow is great for people that teach themselves. TIY or TitY? The list there is ordered by the most popular languages people teach themselves. Some people, namely myself, need to reach out every once in a while for a little help. Well, there are the kids using it to get someone else to do their homework but no need to go into that.

Sure stack overflow is a great place for people who teach themselves, but I think it's funny to assume stack overflow is the best place to learn a language for oneself online. It seems to me more like the languages best represented there lack sufficient documentation and other means of getting answers. Java, for example, has some nice beginner forums, sites like JavaRanch for more stack-overflow like questions, good free documentation and tutorials, various open source project forums, etc... I mean, we may

There's an obvious potential correlation between high scores and plenty of questions being available though.

Hitting the rep cap (200) each day is relatively straightforward, which leaves only accepted answers (and bounties). If there aren't many questions in your area of expertise, you could easily end up with only 260 per day despite being incredibly savvy.

I'm lucky that my two areas of "reasonable competence" (I wouldn't quite go as far as expertise) are Java and C#, both of which have plenty of questions

Or can it be that TIOBE is just wrong. A poor index, not necessarily representative of anything. I forget exactly how the index is calculated, but to my last recollection, it wasn't representitive of anything "real-world-enough" to really account for much of anything.

I'd guess that SO is more representative of "what people are actively engaged in". Maybe....for example, I work in "C" and "Perl" all the time. However, I knew them well enought that I very, very rarley post any C or Perl questions

That is certainly quite true - TIOBE is practically worthless to gauge PL popularity, so using it to define "overrepresented" is worthless squared.

One other aspect is that communities tend to acquire bias for historical reason. E.g. on SO, there is a fairly strong historical bias for.NET stuff - not sure whether it started by.NET community flocking there because MSDN forums had sucky UI, or because a bunch of people who could give good answers came there first because it's new - but, ultimately, it became

.NET programmers were there first because the founder, Joel Spolsky, moved his (large) community over there first, and that community was mostly Microsoft-centric (Joel worked at Microsoft and wrote some very insightful posts on Redmond strategy, back in the day). Most old-school VB types were knee-deep in C# by then, so that's what they brought up.

"C" and "Perl" are completely different cultures than "javascript" and "C#" as well. These languages are entrenched in an RTFM culture that means the coders who use them generally try to find the answers for themselves before posting to a board expecting someone else to deliver for them.

So, languages that have come into heightened popularity in the last decade or so, most of which are primarily used or oriented around web development, were the most overrepresented, while well-established languages aimed at native applications development were the most underrepresented? And from that they conclude that Javascript is a hard language? I think there are a number of better conclusions that could have been made, such as:1) Stack Overflow attracts more web developers than native application devel

The ratings have an inverse relation to the average competence and self-reliance of those using the language. Javascript and C# are typically used by inexperienced programmers or programmers without advanced internals knowledge. People on this side of the coin haven't been told to RTFM enough so they expect others to give them answers rather than finding them themselves. PHP and Python coders thrive in a community populated by many former Perl coders so many of them get the proper RTFM treatment but they ar

It's probably more due to the fact that people who use Real Programming Languages (e.g. C, C++ and so on) are more likely to be trained or experienced programmers who usually know what they are doing, while JavaScripters and C# people are a bit more likely to be kids trying to get some webpage working.

JavaScript on its own isn't hard, it's actually a quite nice language. The DOM thing is pretty awful though.

I have seen stupid units like "libraries of congress" instead of kB or number of football fields instead of yards or meters, number of buckets instead of gallons.

But this takes the cake. Why the hell are they expressing correlation coefficient in percentages? It has always been represented as a rational number between -1 and +1. I know people are dropping out of engineering and science courses. Then they come up with their own units and scale for things with well known standard and commonly accepted practi

Stack Overflow is written in C# and JQuery, you can ask a question about anything on there, but you've always had a better shot of getting or finding an answer if you're looking for a.NET web development related question, if only because the people running the site are more likely to know it. The more likely you are to get an answer the more likely you are to visit the site and provide an answer, so the site is skewed towards that particular technology stack. C# is a nice well designed language whereas Jav

The top tag on SO is for C# - which you say must mean C# is an abomination, fair enough. (actually I think it'll be because the.NET framework is rather large, and now becoming susceptible to the usual Microsoft 'obsolete it, replace it and bloat it' process. Therefore it's incomprehensible to most people, thus requiring many more questions on how to do things)

The article goes on to compare the number of SO questions against the 'language popularity' of TIOB

Most of the comments below--and to a large degree the source article--seem to implicitly assume that all discussion of programming languages happens on Stack Overflow. There probably is some difference in the average experience level of programmer of various languages. But it's also almost certainly the case that OTHER websites also discuss programming languages. For example, someone interested in finding a solution to Python puzzle might well go to the Python Cookbook (http://code.activestate.com/recipe

First of all TIOBE claims to search world wide (which can't be true as they only search in english, but also explains why the results on TIOBE don't look similar to my gut feeling. E.g. C and C++ jobs are very very rare in germany, C is basically only used for embedded programming, C++ is more or less a legacy language meanwhile) (From their web site)The ratings are calculated by counting hits of the most popular search engines. The search query that is used is+" programming"

C and C++ jobs are very very rare in germany, C is basically only used for embedded programming, C++ is more or less a legacy language meanwhile)

Recent jobhunting in the UK suggests this is the case here, too. I saw maybe 2 or 3 C/++ jobs advertised. If it isn't web development, then Java is the thing to know. If it *is* web development, it is about a 60/40 split between.NET(C#) dev and LAMP-style* dev, respectively.
*What I mean with this is, not just limited to LAMP - often using other tech like jQuery, AJAX, etc. - but with LAMP at the core.

Like codeproject, codeguru, daniweb, etc. Stackoverflow is language agnostic with its tags system, and so it attracts a disproportionate amount of languages which don't have their own established forums to compete. For example, I use it if I have questions about python, but when I have questions about C++, I go to codeproject sometimes.

>Could this also be because programming JavaScript is generally quite difficult and will result in people seeking help more?

Or it could mean that it is so robust and powerful, that so many people come up with these innovative ways of using a language, to do so many things with, where as Perl, is limited to text manipulations and IO , javascript leverages a browser's DOM completely allowing not only a hacker to take over a user's browser, but a network admin to test his current network setup, and for a pr

I'm a bit surprised that while a number of people have pointed out how lousy Tiobe is as an index of popularity, that nobody's pointed to an alternative. I'd suggest langpop.com [langpop.com] as a considerably better alternative.

The most obvious points of superiority are simply documenting what they actually measure and how they combine the individual measurements to produce a final result. Although Tiobe doesn't document enough of what they do well enough to be sure, it looks like langpop.com covers a couple of types

C is only particularly dangerous when inexperienced developers just jump in and start writing code without having more experienced developers review what they wrote. The inexperienced developers have not yet developed good practices to ensure they don't overflow a buffer. Similarly they don't understand ownership of allocated memory, so they end up either freeing memory owned by other code, or failing to free memory when ownership is passed to their code.

The basic languages that new people work most with will be the ones that are posted most questions for.Not many people begin their programming experience in C nowadays, so people learning C will have some experience in general behind them.Also my totally blind guess is that C experts don't frequent stackoverflow as much. That leads to the interesting question of "where do C and other programmers go to get their answers if not to stackoverflow?".

Being an older language, C standard libraries and Unix libraries tend to be very well documented in a few places. Lots of good older text books and reference manuals and online tutorials abound. stackoverflow tends to most be popular with web and enterprise programmers building business apps - C doesn't get used on new business apps anymore and hasn't been in some time.