What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 131 Stack Exchange communities.

According to Lang Pop (via this question), C# is not a very popular development language. Why then is there a seemingly large percentage of the questions being asked here related to C#?

share

migration rejected from stackoverflow.com Jun 4 at 12:02

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by РСТȢѸФХѾЦЧШЩЪЫЬѢѤЮѦѪѨѬѠѺѮѰѲѴ, Martijn Pieters, hims056, Azik, ChrisF Jun 4 at 12:02

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "This question pertains only to a specific site in the Stack Exchange Network. Questions on Meta Stack Exchange should pertain to our network or software that drives it as a whole, within the guidelines defined in the help center. You should ask this question on the meta site where your concern originated." – РСТȢѸФХѾЦЧШЩЪЫЬѢѤЮѦѪѨѬѠѺѮѰѲѴ, Martijn Pieters, hims056, Azik, ChrisF
If this question can be reworded to fit the rules in the help center, please edit the question.

35 Answers 35

C# is currently a logical choice for professional software development, and as such it will often be the first language of a lot of new and inexperienced developer, who will be asking more questions.

Also, the language itself is relatively new and still updated quite frequently, so some concepts may not yet be so widespread and will be new even to more experienced developers.

I don't mean to imply it's a "language for newbies" - it's just a common choice. Therefore I also agree with many of the posts above that say C# is probably a lot more popular than some statistics imply.

share

I would disagree with the assessment that C# is not a popular language. Pretty much all of the Microsoft-based businesses (barring the games industry and some areas of the hard-core financial industry) I come into contact with are using it (or in the process of migrating to it from vb/vb.net).

share
1  
It might be popular for MS development (but still not as popular as VB) but it isn't a very popular language outside that realm (nor is it meant to be). –  Robert Gamble Dec 9 '08 at 14:40
3  
Given that it's a pretty huge realm though, there's a big difference beteween "not very popular outside MS development" and "not very popular". –  Jon Skeet Dec 9 '08 at 14:45

Statistics.

SO has a strong Microsoft heritage. Since Jeff is a C# dev.

share

All of those charts could be considered flawed, but taken as a whole I imagine there's a couple of factors maybe.

  • It's relatively new compared to Java, C, Perl and SQL

  • It's relatively niche compared to the more utilitarian javascript, sql, html, xml

  • Like it or not C# basically means Microsoft stack which does present a barrier of entry to many, where LAMP stack languages are going to be more popular with the kind of users who're going to be running more searches (small shops, students, newbie coders)

  • The world is still plagued by VB developers who evidently need motivation to move on

share

Because this site is built in C#, founded by guys who program in C# or are in the Microsoft sphere, beta-tested mainly by guys who program in C# or are in the Microsoft sphere, and therefore there was already a lot of C# stuff on here when the site went public. So C# programmers come here because they know they'll get answers, and they'll tend to find out about it from like-minded people in the C# community.

There's no intention for SO to be language-specific as I understand it, but it makes sense that you'd get the ALT.NET crowd here first of all given that Jeff Attwood is behind it.

share

My theory: because the bulk of the people here came from Joel and Jeff's original audiences.

These are (I figure) basically Windows people, so a lot of the questions will be Windows or .NET questions. C# or VB.NET follows from there.

Also, as a new language and as a language that's undergoing active change (e.g. ASP.NET MVC), there'll be a lot of things that are new to people, so there'll be a lot of questions. A mature language won't raise too many questions.

Personally (as a Win32, C#, MSSQL programmer) I like this. I also like that people on other languages/platforms (Python, Ruby, drupal, etc.) are starting to come here too.

share

This phenomenon is not limited to the perceived popularity of a programming language. With anything, you generally have 3 major groups of interested parties. You have the evangelists, the opponents, and the average majority. Both the evangelists and opponents will be very vocal, but the majority are just getting their jobs done. The vocal minority can create the public perception that they are larger than they really are.

share

Probably because many people use it to learn programming in the first place. At least many lack the skill of searching for information before asking questions.

share

It might simply be that the statistics on Lang Pop is not accurate. It shows C in many graphs visualizing search engine statistics as leading, but how about search engines that filter away the # character?

A Yahoo search on "c programming" (that query is used on Lang Pop) contains hits on C# and c++ programming as well.

It's interesting to see how few people question the actual data shown on Lang Pop. Never trust statistics you haven't faked yourself ;-)

Another fact of course it that languages such as C and C++ have a much longer history than rather new languages as C#. Therefore it would not be surprising to have more hits on C/C++ than on C#.

That there are so many questions on C# here on SO (and other forums) might be related to the fact that it is a young language, but also to the fact that there is quite an active community for C# on the web. I have the feeling (but I might be wrong) that this is not so much the case for C (I imagine the typcical C developer will stick to his man pages ;-).

share

The lang pop results are misleading. C# suffers from having a character that's hard to search on. Using search engine queries as a measure of its popularity is flawed at best. Developers of C# who do searches tend to avoid searching on "C#" because it brings back invalid results.

share

Statistics sample are not "random picked", there are a lot links coming from C# blogs, msdn blog.

I think stackoverflow.com is NOT YET well known by other community. stackoverflow.com is not better then others(forums, mailing list) on same langauge.

share

The LangPop results are highly questionable (Amazon has zero books about C# or C++?). Clearly several of the search engines they are using aren't up to handling symbols in the search string.

Further, they use several *nix-friendly/MS-adverse websites (slashdot, google code), but few MS-friendly website (why freshmeat but not CodePlex?).

And, many of the measurement are historic (people have been writing about C++ for 15 years, Java for 10, but C# for only 5).

Jeff & Joel main audience are MS-centric, and they were the initial users here. Especially since this is one of the first major websites to use ASP.NET MVC.

share

The assesment that C# is not popular is very dependant upon which realm of developers you survey. I'm a long-time consultant in the NYC area and have worked in various industries including finance, insurance, banking, pharmaceutical, legal and engineering. In those venues C# is overwhelmingly the language of choice for enterprise scale application development.

If you consider the robustness of third-party support and the advantages of using a type-safe, memory managed platform that is heavily supported by a large corporation, the reasons are clear.

share

I use C# professionally and for hobby programming. I seriously dispute the charge that C# is not a very popular development language. Many, many people use it.

You could ask the same question about why there are so many LISP/Scheme questions popping up on here these days.

share

I think there are a few factors that may cause the discrepancy:

  • The metrics used to measure popularity are inexact. The different sources of measurement are skewed in particular directions.
  • The .NET audience was alerted to SO from its inception and so SO may likewise be skewed.
  • Older languages already have support forums (SQLServerCentral is much better for DB/SQL related issues).

C# is being widely adopted. It's the language of choice for most of the places I work with. Look on the job boards - a significant percentage of jobs are for C#.

share

C#'s popularity on StackOverflow may have started because of Joel & Jeff's heritage.

I believe that it may continue as part of a feedback loop. Developers find StackOverflow through a C# web search are more likely to ask C# questions. More hits for C# questions. Etc.

share

The methodology used by Lang Pop seems to be flawed, or at least skewered against C#. First of all C# is a fairly new language compared to say C or C++ or even Java so it makes sense that more books and web pages will have been written about those languages, simply because they’ve existed longer.

Secondly, both Freshmeat and Google Code focus on Open Source and Unix/Linux software. C# is not used very much in these circles, partially for the bad cross platform support and partially for ideological reasons.

Also their Amazon and Del.icio.us results seem wrong. They claim there are more books about Haskell and Forth than there are about C#. I cursory search on Amazon that I just did seems to seriously dispute that. They also claim virtually no del.icio.us links to C#, again simply going to that site would prove that wrong.

On the whole there seems to be more than enough flaws in their approach to safely ignore any conclusions about programming languages that you might come to using their data.

share

I would expect it to be the most popular for the various reasons below (in no particualar order).

  1. The more people learning the language then the more questionst that they have.
  2. At one point, most .NET examples were in C# (I'm not sure if that's the case anymore).
  3. If you are Java programmer C# is the most natural .NET language to use.
  4. If you are a VB classic programmer I personally feel that VB .NET is such a different language that you might just as well learn C#, your previous VB knowledge just gets in the way in VB .NET.
  5. If you are a C or C++ programmer you would naturally migrate to C#.
  6. XNA uses C#.
  7. I believe C# is the most popular language for Compact Framework development on Windows Mobile.
  8. It's the language to use for Mono based development.
share

I dont agree with the langpop sites way of measuring the popularity of the language/

Languages such as C have been round much longer than C# so it seems likely there will be more books articles etc

There always seems to have been less open source projects written in C# than say PHP

Certain sites favour or are more popular with specific languages

share

One thing that is never taken into consideration in these "language polls" is the longevity of the language. I am not surprised that C leads almost exclusively in all of the polls in the original link, since it has been around longer.

The problem with using something like books from Amazon is flawed, by nature. If a language has been out longer, of course it is going to have more books. The same holds true with articles online, and is even further compounded by the name of the language (having a # in it).

A more appropriate way to measure would be to do such measurements over a fixed period of time, i.e. over the last year.

From personal experience, I can tell you that there are more job openings in my market for C# developers than either the PHP or VB developers that show up ahead on the charts, and C# and Java appear to be pretty close in talking to some of the technical recruiters that we have worked with.

share

There are gaming companies using C# as well. I worked for a company for a while and they had a fully implemented slot machine with device support all written in C# except for a couple of interop DLLs where required. The only thing pending was gaming board approval, but they bought another company and scrapped the $5 million project.

share

Looking over Lang Pop, it seems pretty much useless. The statistics vary widely with several languages jumping all over the place from being one of the most popular in some of the lists, to hitting rock bottom in others (According to Lang Pop, Amazon has no books on C++? That doesn't seem very plausible given that I've bought a good handful from them) And most languages vary their positions wildly on the different lists. And of course, searching for "C Programming" doesn't just give you a list of matches for the programming language C. It also gives you matches for everything related to programming which mention the letter C, perhaps as a variable name. Or how about a book, blog post or anything else on, say, Haskell, which says "unlike in C, "? Whoops, suddenly we've got a match for C Programming. How many C# texts do you think mention Java and/or C/C++? I'd guess something like 99.99%. But the reverse isn't true. Why would a C book even mention C#? Same with Java. Java was there first, there's no point in contrasting the language with C#.

In any case, C# is a very popular language. Not as widely used as Java or C/C++, perhaps (all of which are much older, and also better supported on non-MS platforms), but still very popular. And now consider who actually asks the most questions.

Is it people who're working on the same C application they've worked on for the last 8 years? Not often. Is it people who are learning programming, or are trying to deal with a new technology? Quite often. And C# is very popular in those circles. .NET and C# add features almost overnight, and because the language is relatively young, and improves very quickly, a lot of people are learning it. Either because it looks like the next big thing, or simply because they've been tasked with developing or maintaining a C# application, so they need to learn the language.

In other words, your "average" C# programmer is likely to have less experience with the language than your average C++ or Java programmer have with their language. That means that C# is likely to be overrepresented on any site where people can ask for programming help, such as SO.

And finally, of course, at least one of the founders of SO is a big fan of the language, and his blog tends to be read by a lot of C# programmers.

share

Because C# is in fact a popular language. Remember that statistics is just another word for lies.

share

I would strongly contend that Langpop is either inaccurate or pushing an agenda. C# is all over the place.

share

If we check in number of search, C# is not as much searched as Java or PHP but still is popular. alt text

As I mentioned in the comment of this question. This question has already been discussed and we see more C#/Vb.Net question because the peoples who launch this website have a lot of reader from their blog. Their blog are .Net related and of course that bring a lot more C#/vb.net developer here. Maybe in few months we will see more other language big name coming here and the community will change.

share

I think one of the reasons (in addition to the more popular answers in this thread) is misuse of tags.

A lot of the time people use a language-specific tag when there's no need for it. For example, "How do I subscribe to an event in C#?" would definitely require a C# tag. "How do I make a worker thread to perform an asynchronous action that raises an event when it is finished?" is not a C#-specific question; this should be tagged .NET. People polarize themselves to one language and figure, "I want a C# answer, so I'll tag it as C#."

share

The people that use this site are mainly .NETers that all read the same blogs and participate in the well-known .NET group-think that all .NET 'professionals' subscribe to.

Why do you think C#/.NET users get so defensive when you ask a question like this?

share

Hi, I'm the creator of http://langpop.com.

A few comments:

  • There are indeed problems with C, C# and C++. It is noted on the site - you did read the text, instead of just looking at the graphs, right? Suggestions on how to get around the problem are welcome, of course.

  • The Amazon results are indeed incorrect. One of the problems with multiple data sources is that on any given day, one of them is often acting up, sometimes in subtle ways. For instance, today for some reason Yahoo is returning very few results for delicious. Working on correcting it.

  • Longevity & Amazon: yeah, languages that have been around longer are more present in lists like books. That is one measure of popularity, though, isn't it. Now that I have a year + of data, perhaps I will start adding some information about deltas in order to show what's been growing lately.

That said, I don't think the statistics are "worthless" as some commenters suggest. Do I think they're highly accurate? No, but it's not possible to be highly accurate with those kinds of data sources either. And I still think they are generally pretty good data.

To answer the original poster's question, I don't think that C# is exactly "unpopular" - if you correct for the Amazon results (should have those done shortly), and for some open source bias in using Freshmeat as a data source, C# does ok. And naturally, lots of Windows people seem to be on this site, so that explains why it's relatively more popular here.

Thanks, Dave

Update: I found what changed with the Amazon results, but like I said above, Delicious has some problems. site:delicious.com "c++ programming" returns zero results, and the following two pages return identical counts:

http://delicious.com/tag/c%2B%2B+programming

http://delicious.com/tag/c+programming

Update: I went ahead and used the Delicious results even though it can't tell the difference between C, C++ and C#.

share
1  
A more reliable pair of sites to search would be Dice and CareerBuilder. And these sites almost certainly have a search that distinguishes C#, C, C++, etc. –  Tom A Jan 31 '09 at 2:26

Any online survey is going to get skewed by the interests of the readers - you can't really use it as a good example.

In UK job market C# and Java jobs pay about the same, and both job markets are driven by the number of positions available and the relative scarcity of available developers.

I reckon Java and C# are about the same size in the UK.

Almost all of us in the private beta were readers of Jeff Atwood's (mostly .Net) blog. So there was skew here when it first went public. A few months later it now seems pretty balanced.

share

This is pretty silly. You are discussing two fundamentally different issues.

One issue is that C# may not be mentioned on as many web sites as Python on PHP. Honestly, what does this have to do with anything?

The other issue is how many users of each language there are (i.e. ACTUAL popularity).

share