# c# is clearly dominant on SO. Is there a desire, need or whatever to diversify the user base and questions?

(UPDATE: Anybody who thinks this is a rant on C# needs to chill out. I'm not suggesting punishing C# questions. Rather, I am envious of C#'s disproportionate popularity on SO and am asking what, if anything, can or should be done to get non-C# language communities to more interested in using SO as they place for Q&Ss. Why? SO rocks as a Q&A platform, much more that traditional forums.)

On a whim, I thought it would be entertaining to graph out the Top Ten Language Question Tags by Date*. It has always been clear that c# was the most popular tag, but the below graphs made this fact more of a reality is some way. It kind of bothers me, but then again it is such a multifaceted topic that my 20-second analysis of why this is so doesn't mean much to even myself.

What are your thoughts on the overwhelmingly large popularity of c# on Stack Overflow? Is this healthy? Normal? In need of a conscious, deliberate change?

(* = My own arguably arbitrary and biased selection based on the most popular tags)

Top Ten Language Question Tags (+ 'r') by Date:

Also included in the graph is r, which users of r flash-posted questions about in July. Here is a zoom of their "flash". It's kinda cute, in a way. They managed to

• beat out c and ruby-on-rails for a day
• approach the lulls in activity in a couple of popular tags, like asp.net and java

-
It's an awesome language :) –  LeakyCode Aug 28 '09 at 16:16
@Mehrdad Maybe its, or maybe the only true awesome language it the one who does not raise any questions as an indication of its easy of use and power. ( Although the there is a really thin line between: This programming language is so easy/powerful that nobody has something to ask and: This so lame nobody uses it at all ) mmhhh :-/ –  OscarRyz Aug 28 '09 at 18:24
What exactly are we seeing on the Y axis? Is that number of unanswered questions? Number of questions posted per time period? –  Eric Sep 22 '09 at 10:44
Graph title: "... Language Question Tags ... by Date", so the number of questions with that tag for each day. –  Stu Thompson Sep 22 '09 at 13:56

If you compared that analysis to stats about language usage/popularity, you would be able to determine what languages were over/under represented on SO. The question them becomes how to better "get the word out" about SO to users of those languages.

-
Well, yea. But that would only come after answering the "do we/SO/Jeff need to?" question. So far, folks seem hostile towards the idea that there is even a need. Hump. –  Stu Thompson Aug 28 '09 at 15:55

It's healthy, and normal. It doesn't need a deliberate change. I don't see how you'd accomplish that anyway. My favorite language (Perl) is a minority (not even on your graph, I see) and yet it's still possible to get insightful and intelligent answers to Perl questions. So I don't think any problem exists.

-
Perl++ –  Brad Gilbert Aug 28 '09 at 13:22
I'm expecting "Please add {insert my language of choice} to the graph"...if there are lots of a particular language, I'll do so :) –  Stu Thompson Aug 28 '09 at 13:24
I don't think you need to add Perl to the graph, there are only ~2k [perl] questions –  Brad Gilbert Aug 28 '09 at 13:57
It does not seem to have been communicated well, but I am not suggesting that we change SO directly, in the code base. (Or c# coders are super sensitive and territorial :P but I don't think so.) J&J have done a bang up job of using their existing community base to market SO, but it seems to be very c# heavy to me. Why are other communities so SO-shy, can we encourage formally encourage interest outside the c# community, and should we? –  Stu Thompson Aug 28 '09 at 16:10

Here is another graph for the discussion. I wanted to bring in some outside data in an attempt to make this a more objective conversation. As a measure of how other languages are rank against each other in SO and the outside world, I grabbed data from the top 10 languages on the TIOBE Programming Community Index for September 2009 and graphed it against the corrosponding Stack Overflow question tag counts.

• x-axis: "Popularity on Stack Overflow", measured as percent of composite for SO question tags
• y-axis: "Popularity on TOIBE Index", measured as a percent of the composite of the top ten languages in the TOIBE index
• z-axis: "Consensus Popularity", the bubble size, is measured by multiplying SO % value and TOIBE % value

Note: VB was kind of hard to do because on TOIBE it is "(Visual) BASIC" and SO there are many tags with VB, and I restricted it to VB + VB.NET.

What does this say to me? "Stack Overflow questions most definitely over represent C#, relative to other languages." Other than Rob Allen's answer, almost every other answer and comment here on this point sounds like a subjective justification of the status quo.

(Stu hunkers down for the inevitable blow back from overly sensitive C# fans who think he is a C# hater.)

-
You some kind of C♭ lover? –  random Sep 17 '09 at 10:59
So Jon Skeet's code is actually slightly under represented on StackOverflow? Good god, he's a monster! –  Super Long Names are Hilarious Sep 18 '09 at 4:25

There are 275k post of which 36k are tagged c#. Big deal.

It doesn't prevent people from getting good answers in dozens of other tags. I mean, come'on, there is an active (if small) LaTeX community here.

I don't see this as a problem.

-
Not all 275k questions are language specific, are they. –  Stu Thompson Aug 28 '09 at 16:17
No, of course not. So look at it this way: 18k java, 13k javascript, 13k c++, 9k python, 8k sql, 5k ruby-on-rails, 4k objective-c and already we have more than twice as many tagged with other languages than tagged c# and I haven't gotten to the 30th most popular tag yet. c# has a plurality, but not a majority. –  dmckee Aug 28 '09 at 19:01

There is a potential issue of construct validity here. The number of C# tags may indeed be higher but there are a number of possible explanations for that besides "language popularity." There may be more confussion surrounding C# than other languages for example. There may also be more ways to describe a problem in C# and therefore more overlap and duplication between questions.

If we assume that it is because C# is just more popular, I would have to agree with @Jon B's assessment that its a matter of getting the word out to other programming communities. But I really think that it is way too early in the life of SO to worry about that. They have built it, more will come.

-
Hmmmm...interesting. I'm not that familiar with the .net world, so it is all a bit exotic to me. –  Stu Thompson Aug 28 '09 at 15:53

What is wrong with people asking questions in C#? I see nothing wrong with it they need help and Stack overflow gives it to them.

Is it healthy? Yes, Stack overflow is a place for people to get help in programming, regardless of language. There is help for everybody which is the goal of stack overflow.

Yes it is completely normal, there are a large number of people writing C# code everyday and they need help.

No change is needed, Stack overflow doesn't have rules that state you are only allowed to ask C# questions, and we should not prevent them either.

-
"Healthy", would be in the context of folks considering SO to be a c#/.net domain unwelcoming or interested in others. I've not suggested changing SO to discourage c# question. (Your last sentence is just plain silly, hyperbolic cwap.) Rather, I am suggesting that maybe we need to get other communities more interested in SO as a platform for asking/answering questions. –  Stu Thompson Aug 28 '09 at 16:01

There is always a desire to diversity the user base. If we want StackOverflow to be THE source of questions and answers for programming, that only makes sense.

To assume that we have a problem because the majority of the users are .NET/C#'ers is incorrect thinking. It is natural for those who follow Jeff & Joel (mostly .NET C#'ers) to be the starting audience, and we have seen the audience constantly grow since. It should not be seen as a bad thing that we happen to have a very large "seed" community centered around a particular language.

It's not like there is any shunning of particular languages and technologies going on. If you don't care for a language, you don't have to contribute and someone else will pick up your slack.

-
The problem I am asking if we have is not the abundance of c# questions, but the relative drought of questions for other languages. Think of all those poor COBOL programmers, maintaining the world's most popular language, still writing letters to each other to exchange Q&As! They could benefit from what I think is a superior way to address programming Q&A communications. –  Stu Thompson Aug 28 '09 at 16:05
@Stu those poor COBOL programmers are not looking at stackoverflow and thinking "if only it wasn't so tilted toward c#, I could use it...". If they need help, they will search for it, and they will find SO. –  Rex M Aug 28 '09 at 17:08
@Rex: No, they won't, if there is no useful info to them on stackoverflow. –  Paul Nathan Aug 28 '09 at 17:52
The problem is that the "someone else" who's going to "pick up your slack" might not be on SO at all. –  MarkJ Sep 17 '09 at 14:15

SO is actually working, I have the C# tag in my ignore list so I did not even noticed that C# was growing...

If you want more languages on SO, then market the ignore tag (with the hide option enabled) and this will not be a problem at all!

-
Huh? Marking the ignore tag will not address the 'problem' that I am suggesting/asking. E.g.: There are only 68 COBOL questions and no amount of tag hiding is going to change that fact, other than the COBOL community paying more attention to SO. COBAL is after all the world's most popular language! </sarcasm> –  Stu Thompson Sep 17 '09 at 9:08
If a Cobol expert comes along, he probably will be put down by the number of C# questions and go to another place... but if he knows that he can "ignore" that noise then maybe SO can help him find what he wants... –  Johan Sep 17 '09 at 9:50
If that were the case, they'd never be around long enough to figure out your beloved ignore list feature, would they? Marketing of a niche feature or not. Sorry, just not buying your answer. –  Stu Thompson Sep 17 '09 at 11:05
@Johan - Just checked the list of top voted Cobol questions. They are entry-level, like "how do I learn Cobol". Comper the top-voted C# questions, for instance "hidden features of C#", "common programming mistakes in C#", "useful attributes". If Cobol experts are online, they aren't on StackOverflow. You need to attract them somehow, and I don't think a nice UI is enough. –  MarkJ Sep 22 '09 at 10:29

I agree that it would be desirable to include everybody, but I think this is going to happen through word of mouth. People will find out that SO is a good place for some answers, and will tend to join, and provide answers for even more subjects.

The big question is barriers to entry, and I haven't seen them. Nobody is systematically downvoting Java questions and answers that I've noticed, and nobody seems to be systematically leaving nasty comments.

-

I think it is a bit of a problem. IMHO Stack Overflow depended on two things to get started: a nice web UI and a critical mass of expert developers. Joel and Jeff supplied the critical mass through their blog audiences: mostly Windows/.NET developers. I don't think we can count on this automatically spreading to all other technologies because you need a critical mass to get started. Otherwise, it goes like this.

1. Fred stumbles on Stack Overflow.
2. Fred posts a question about SilverBulletTech (TM)
3. No good answers, because no-one knows SilverBulletTech (TM).
4. Fred goes back to the SilverBulletTech (TM) Usenet group, where the UI is poor but at least someone helps you.

EDIT: IMHO an example is C - there are complaints that the quality of C answers on StackOverflow is not very high. If that's true, we can't expect to attract C developers. C# developers are attracted to StackOverflow partly by the UI, but mainly by answers by a big community including world-class experts like Jon Skeet and Eric Lippert.

We need to get a marketing whizzkid (or business wonk) on the case. Hmm, maybe they already are. I expect "building the brand" is one of the motives behind the developer days.

-
+1 for critical mass –  Johan Sep 17 '09 at 11:55