×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Analyzing StackOverflow Users' Programming Language Leanings

timothy posted more than 2 years ago | from the drag-out-your-cliches dept.

Programming 185

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.

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

185 comments

Happy November from the Golden Girls! (-1)

Anonymous Coward | more than 2 years ago | (#37965346)

Thank you for being a friend
Traveled down the road and back again
Your heart is true, you're a pal and a cosmonaut.

And if you threw a party
Invited everyone you ever knew
You would see the biggest gift would be from me
And the card attached would say, thank you for being a friend.

Re:Happy November from the Golden Girls! (-1)

Anonymous Coward | more than 2 years ago | (#37965726)

Timothy needs to be fired. All of his post are comming from Fox News(ClearChannel/Murdoch Media)

JavaScript... or HTML DOM? (2, Interesting)

Anonymous Coward | more than 2 years ago | (#37965354)

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.

Re:JavaScript... or HTML DOM? (1)

lennier1 (264730) | more than 2 years ago | (#37965426)

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.

Re:JavaScript... or HTML DOM? (1)

Anonymous Coward | more than 2 years ago | (#37966002)

My university is still teaching a C class, but it's mostly a "learn about memory organization" type of class.... then the rest is all taught in Java.. except for senior and graduate level classes which often expect you to know something about C. (I learned C and C++ well in highschool, so I had an advantage)

Plus many of the computer scientists I know do everything in Python these days, since they worry more about getting their research done rather than dicking around trying to find some pointer bug. Unless of course they're systems researchers... then yeah, they use C (MPI and all that)

Re:JavaScript... or HTML DOM? (1)

JoeMerchant (803320) | more than 2 years ago | (#37966120)

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.

Now, GET OFF MY LAWN!

Re:JavaScript... or HTML DOM? (0)

Anonymous Coward | more than 2 years ago | (#37965520)

All the arduino tinkerers out there are using C.

Re:JavaScript... or HTML DOM? (2)

man_of_mr_e (217855) | more than 2 years ago | (#37965828)

Yeah, all 3 of them? ;)

(yes, I know arduino is relatively popular, but it's popular in a relatively unpopular sub-culture)

Re:JavaScript... or HTML DOM? (4, Insightful)

justforgetme (1814588) | more than 2 years ago | (#37965768)

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).

So I guess that it really isn't such a big newsitem.

Re:JavaScript... or HTML DOM? (2)

mwvdlee (775178) | more than 2 years ago | (#37965938)

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 answers without using StackOverflow. My process for searching solution is Google first, StackOverflow second.

Re:JavaScript... or HTML DOM? (1)

Shifty0x88 (1732980) | more than 2 years ago | (#37967270)

I agree, I believe it is because of the shift in programming languages from Compiled (C/C++) to Hybrid(Java/C#) to Interpreted(JavaScript). Most people probably went to school and learned at least one Compiled language, and are familiar with the concepts of a Hybrid language so that is an easy jump, but even I have a little trouble getting used to the Interpreted language style of JavaScript, and yes, of course the DOM as well.

Re:JavaScript... or HTML DOM? (1)

modmans2ndcoming (929661) | more than 2 years ago | (#37967482)

There is nothing intrinsic to interpretation that makes it inherently different than any other "style" of preparing a program to run on a CPU.

Interpretation is just another method.

What makes JS suck ass is the language construction, not the method of running the code.

Obvious (5, Insightful)

whisper_jeff (680366) | more than 2 years ago | (#37965370)

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.

Seems obvious to me.

Re:Obvious (1)

Anonymous Coward | more than 2 years ago | (#37965536)

You missed the point. Javascript is over-represented on SO compared to how much it's actually used.

Re:Obvious (1)

larry bagina (561269) | more than 2 years ago | (#37965666)

It's over-represented on SO compared to the TIOBE language index.

The [TIOBE] ratings are based on the number of skilled engineers world-wide, courses and third party vendors. The popular search engines Google, Bing, Yahoo!, Wikipedia, YouTube and Baidu are used to calculate the ratings.

Re:Obvious (1)

Anonymous Coward | more than 2 years ago | (#37966146)

SO?? What the fuck does that mean. Try explaining your fucking acroynms before using them exclusively. Same with TIOBE. What are you trying to tell people with that? How about you are saying: Typically I Only Bullshit Excessively?

Let me guess your coding style:

/* Function: ahhh fuck it, this is all self documenting and it is OBVIOUS what my variables are. I don't need to comment more than this.
*/
int x;
int y;
/* OK going to get very descriptive here! */
char * xidfjfllsdkjfjh;

For fuck's sake people, more of us might be interested in your article if we didn't have to get a dictionary out BEFORE we finish reading the synopsis. As for your acronyms here, I bet many don't know them because as much as it may seem, I'm willing to bet cash money that *most* here don't waste time in pissing contests about what the most popular or best language is.

Re:Obvious (1)

Anonymous Coward | more than 2 years ago | (#37966742)

So you leveled up/down from "didn't RTFA" to "didn't even RTFS"?

Why don't you GTFO?

Re:Obvious (2)

justforgetme (1814588) | more than 2 years ago | (#37965864)

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)

Re:Obvious (2)

man_of_mr_e (217855) | more than 2 years ago | (#37965888)

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 environments these days.

Do some searches on Dice. If you search for C (it includes C++ in the results) you get roughly the same results as Java, but most of the results say C/C++, so it's hard to know just how much C is actually used.

However, the biggest disparity is that JavaScript is used by a lot of novices with very little programming background. ie, they are not professional programmers.

Re:Obvious (0)

Anonymous Coward | more than 2 years ago | (#37965564)

.... or possibly that web designers are taking on programming chores themselves and need help figuring out programming problems?

On occasion when I look at the JavaScript questions, they seem to be asked by non-programmers - it's just the "tone" of the question for a lack of a better description - like a writer would look at this comment and know that I'm not a writer.

With continued "downsizing" of corporate IT departments, folks are taking on more and more responsibilities. The days of there being a programmer, designer, DBA, network admin, etc ... are long gone. We've all seen the laundry lists for jobs these days.

Re:Obvious (1)

anonymov (1768712) | more than 2 years ago | (#37966070)

My guess is: all four top languages, JS, C#, PHP, and Ruby (most probably on Rails) are popular target for "$languagename For Dummies: Learn to Write Great $(languagename == 'C#' ? 'Windows Application' : 'Web Site')s in 24 Hours!" kind of books, and those books target audience often doesn't even have patience to read those pamphlets through, so they just come asking questions instead of googling and/or figuring out for themselves.

Of course, this intersects with the fact that JS/PHP/C# are indeed wide-spread.

P.S: Note that I don't speak about languages' qualities, but about their marketing, so to say.

Re:Obvious (1)

TwinkieStix (571736) | more than 2 years ago | (#37965664)

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 and CSS - neither of which were in the list probably because they aren't in TIOBE's list.

The conclusion I drew is that web programmers have to program in several languages at the same time (a frequent complaint of the RoR crowd) even if those programmers specialize in a subset of those languages. It's natural that we would see an increase in questions asked about questions outside of that specialized subset but required to get the job done.

Another issue I have with this data is that some languages (particularly dynamic typed languages and functional languages) can often get more done in fewer lines of code - the TIOBE root measurement. So, we expect an under-representation of languages with a lot of boilerplate such as Java. Interestingly, that doesn't seem to be the case.

My final issue is that languages that are on the decline (fewer users new to the language asking questions) or mature languages (many more well answered questions, even before StackOverflow started, already available so no need to ask) should be under-represented. Languages that are on the rise or experiencing a lot of volatility such as Javascript (in both respects) should be over-represented because new users are entering the pool of questions and new functionality needs to be discussed.

Re:Obvious (0)

Anonymous Coward | more than 2 years ago | (#37967054)

Another thing that may add to Javascript's representation is the recent rise of Javascript backends. So not only do you have questions about Javascript client operations, you also have questions about how to get things done with node.js or whatever flavor of the month is.

Good programmers don't use StackOverflow. (-1)

Anonymous Coward | more than 2 years ago | (#37965684)

StackOverflow is only popular because there are a lot of foolish "programmers" out there, and it just happens to be the place where they congregate online and award each other meaningless "badges" and "reputation points".

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.

Good programmers realize that this is the case, and thus easily get the answers to their questions by themselves. It's only the shitty "programmers" who can't do this who need to resort to StackOverflow.

It's no wonder that there are so many JavaScript questions at StackOverflow. JavaScript is the definitive programming language of idiots. Good programmers do everything in their power to not use JavaScript, while idiot "programmers" embrace it and try to use it absolutely everywhere, including every place where it surely shouldn't ever be used. Good programmers don't run into the problems that these idiot JavaScript "programmers" run into so often because these good programmers know not to use a shitty language in the first place, and they know not to try to use a shitty language for stuff that it's not good at.

Re:Good programmers don't use StackOverflow. (2)

Windwraith (932426) | more than 2 years ago | (#37965734)

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 to not-so-smart questions.

**Stimulating as in some kind of answer that makes you want to try alternate ways to reach your goal. the kind of thing that makes you fire up your IDE/text editor to hack, right away.

Re:Good programmers don't use StackOverflow. (1)

Sir_Sri (199544) | more than 2 years ago | (#37965808)

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.

Re:Good programmers don't use StackOverflow. (1)

TheRaven64 (641858) | more than 2 years ago | (#37966000)

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.

Re:Good programmers don't use StackOverflow. (3, Insightful)

mikael_j (106439) | more than 2 years ago | (#37965832)

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).

Re:Good programmers don't use StackOverflow. (2)

man_of_mr_e (217855) | more than 2 years ago | (#37965942)

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. Asking a question gets you more up-to-date information from people that know what they're doing, and it becomes a self-documenting system.

StackOverflow has become the primary location to go to search for programming issues you're dealing with, because unlike google, it doesn't contain extraneous results, spam, and things non-programming related.

Re:Good programmers don't use StackOverflow. (3, Insightful)

GGardner (97375) | more than 2 years ago | (#37967088)

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.

Re:Obvious (0)

Anonymous Coward | more than 2 years ago | (#37966030)

That's only really half the answer. Like the other AC says, this is about overrepresentation on SO, not popularity.

Javascript is overrepresented on SO because it is so accessible to people with little or no programming experience. It runs in most browsers, can be written with a text editor, and provides instant feedback (with no monkeying around with compilers and linkers). (In addition, as another poster mentions, DOM and various browser quirks can make it tricky, resulting in even more questions not necessarily directly related to the language itself.)

Re:Obvious (0)

Anonymous Coward | more than 2 years ago | (#37966240)

Seems obvious to me.

The "obvious", like "common sense" is a great way to get into trouble.

One reason why languages like C# and Java may not be as well-represented by Stack Overflow is that a lot of the people who use them get help somewhere else.

There are at least 2 major sites that are dedicated to Java alone, and they've been racking up considerable traffic since before I'd ever even heard of Stack Overflow.

S.O. can be a useful resource, but it's not the primary one I go to for Java help.

Javascript is for morons (-1, Troll)

Anonymous Coward | more than 2 years ago | (#37965378)

The reason javascript is so high is because there people who use it are clueless morons. Conversely real languages like java and c are typically used by real professionals.

Re:Javascript is for morons (0)

Anonymous Coward | more than 2 years ago | (#37965706)

While you could have worded this a little better (i.e. not used the word 'moron'!), I do agree with you.

Re:Javascript is for morons (0)

Anonymous Coward | more than 2 years ago | (#37965922)

What else was the GP supposed to call them? Retards? Idiots? Stupids? Fools? Americans?

Learning a language? (1)

E IS mC(Square) (721736) | more than 2 years ago | (#37965380)

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.

Re:Learning a language? (0)

Anonymous Coward | more than 2 years ago | (#37965486)

Because most people do not just sit down and say hey I want to write something, I think I will use C. Now how do I do that? People who use C and Java usually get some kind of formal training first.

However, with HTML/CSS/Javascript they can sit down do some google searching and start writing a simple web page. Then when you want to do more cool stuff, you will be looking at Javascript to do this cool stuff. Now they have not had any formal training and Javascript is more like a programming language than HTML or CSS is.

Re:Learning a language? (1)

Windwraith (932426) | more than 2 years ago | (#37965648)

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.

Re:Learning a language? (1)

Windwraith (932426) | more than 2 years ago | (#37965590)

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.

Re:Learning a language? (0)

Anonymous Coward | more than 2 years ago | (#37966028)

Yes yes, and there would not have been even those C questions i the damn excuse of preprocessor wasn't so limited.

Re:Learning a language? (1)

Samantha Wright (1324923) | more than 2 years ago | (#37966872)

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, Webkit, and Opera) and so the social expectation that others have worked out the problem in a cross-platform way is much more critical—although that being said, at least MS and Mozilla now offer solid reference material for JS... yet it's still hardly cross-platform.

Another perspective might be that, in general, most programmers will learn compiled languages (pretty much all of the other popular TIOBE ones) through school. There still isn't a course at my university that teaches JS, excepting perhaps some very introductory web design class. In the absence of an authoritative structure, programmers may be less motivated to seek out an authority for how to write good JS, which is reasonable since there really isn't one.

Javascript has always been a copy & paste lang (4, Insightful)

jrumney (197329) | more than 2 years ago | (#37965386)

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.

Re:Javascript has always been a copy & paste l (1)

gtada (191158) | more than 2 years ago | (#37965456)

jrumney beat me to it, but I agree 100%. I don't find these results surprising at all.

Re:Javascript has always been a copy & paste l (1)

Hentes (2461350) | more than 2 years ago | (#37965542)

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.

Re:Javascript has always been a copy & paste l (2)

Qzukk (229616) | more than 2 years ago | (#37966060)

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.

That, combined with the fact that the internet is flooded with ancient javascript snippets ripe for copying and pasting despite the fact that they don't work on anything but netscape 4.

conclusions (5, Insightful)

bigdavex (155746) | more than 2 years ago | (#37965396)

JavaScript is something a newbie might want to try out. Newbies ask more questions.

I don't think that's a reflection on the difficulty of JavaScript.

Re:conclusions (1)

Kozz (7764) | more than 2 years ago | (#37965548)

JavaScript is something a newbie might want to try out. Newbies ask more questions.

I don't think that's a reflection on the difficulty of JavaScript.

Additionally, everyone who visits StackOverflow is guaranteed to also already have a Javascript engine/interpreter built into their browser.

Re:conclusions (1)

ripdajacker (1167101) | more than 2 years ago | (#37966458)

JavaScript has the corner cases where it kind of sucks. Many start out thinking it's object-oriented, it's in fact functional. New programmers have a hard time grasping the advanced scoping rules of it, the automatic statement termination, == vs === etc.

So in that sense it's really a hard language, not because of syntax or libraries, but due to the at times seemingly arbitrary behaviour.

Re:conclusions (0)

narcc (412956) | more than 2 years ago | (#37967210)

I agree. JavaScript can be a very nice and simple language, if you know what features to avoid.

Aside from general advice, like "code first for readability" and "don't do anything clever", any developer would do well to stay well clear of creating their own objects (except in the rare case where it helps readability), avoid anonymous functions, interact with the DOM only in a few well-defined and obvious places, and register event handlers in one place (if at all possible).

Oh, and learn to use the var keyword. Saying clear of anonymous functions and proper use of var will save you from dealing with most of problems caused by JS bizarre and unintuitive scoping rules.

It's not a complete list, but it's a good start -- even for developers who are intimately familiar with all of the details of JS, as it'll make their code readable to the zillions of other (lesser) JS developers who may need to maintain or just learn from your code in the future.

Seems to track age of the language (1)

Haven (34895) | more than 2 years ago | (#37965398)

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.

Re:Seems to track age of the language (1)

frosty_tsm (933163) | more than 2 years ago | (#37966144)

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 change (Rails 1, 2, and now 3 with a little bit of Merb; Django, Pylons and Pyramid). Knowledge share occurs primarily online and to be honest, documentation isn't all that great (partially do to the rapid change).
  • C is written by engineers locked in a basement without access to the internet (so no one can hear their screams for help ;-)

Re:Seems to track age of the language (0)

Anonymous Coward | more than 2 years ago | (#37966206)

Back in 1994 Usenet was the place for technical discussion, and luckily we have near-complete Usenet archives searchable at groups.google.com. Advanced search reveals that between 1 Jan 1994 and 1 Jan 1995, there were 2240 posts mentioning QBasic and 11400 posts mentioning lisp.

The tech support effect (1, Insightful)

goombah99 (560566) | more than 2 years ago | (#37965402)

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 a push just go windows only.

All because there were more problems and thus more support techs.

I would imagine that more mature languages have fewer people looking for clever tricks on this web site.

a mirror of stack overflow users, nothing else (2, Insightful)

sick_soul (794596) | more than 2 years ago | (#37965404)

"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.

Re:a mirror of stack overflow users, nothing else (0, Flamebait)

siride (974284) | more than 2 years ago | (#37965468)

Aren't you just the coolest.

Re:a mirror of stack overflow users, nothing else (0)

Anonymous Coward | more than 2 years ago | (#37966024)

*facepalm*

Re:a mirror of stack overflow users, nothing else (0)

Anonymous Coward | more than 2 years ago | (#37965924)

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.

Also, my poop smells like roses...

Re:a mirror of stack overflow users, nothing else (1)

svick (1158077) | more than 2 years ago | (#37966960)

My references are the C programming language standards and the single UNIX specification.

So you never write any code that is OS-specific, you never use any third-party library and you never write any GUI? Good for you.

From my experience, the documentation isn't always great. And even if it is, some things just aren't obvious.

Difficulty or Popularity or Medium Popularity? (2)

gameweld (215362) | more than 2 years ago | (#37965444)

-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 our recent study of stackoverflow questions (publication pending), we found that there was a strong correlation between the frequency of using a particular API class (as defined by google code search), and the numbers of questions asking about those classes. This could suggest questions have a large popularity component, or it could mean people are more likely to run into difficulty with popular components!

Re:Difficulty or Popularity or Medium Popularity? (1)

Windwraith (932426) | more than 2 years ago | (#37965702)

I wanted to mod you insightful but I already posted so...

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).

And of course popularity would influence things. When I just started learning C, it was "the hot thing" to make games with, at least from an outsider's perspective, or it was the language other people recommended when you announced your intentions. I assume C# and Javascript are the most mentioned and/or recommended in their respective use fields, which leads to more people wanting to know it, which leads to more questions asked.

Re:Difficulty or Popularity or Medium Popularity? (1)

nschubach (922175) | more than 2 years ago | (#37966504)

To add:

-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.

Web designers with no programming experience (0)

gtada (191158) | more than 2 years ago | (#37965446)

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).

Re:Web designers with no programming experience (0)

Anonymous Coward | more than 2 years ago | (#37965586)

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).

StackOverflow is commonly used for intricate questions that Bjarne himself couldn't answer. I'd wager that employed C++ programmers are most likely to contribute there.

Huh? (1)

oldhack (1037484) | more than 2 years ago | (#37965452)

I've seen StackOverflow site, I know and used most of the languages mentioned, but I have no idea what the summary is yammering about.

Cue it.. ! (1)

0ld_d0g (923931) | more than 2 years ago | (#37965454)

Cue the non-JS programmers bashing web developers as "not real programmers". :-)

Re:Cue it.. ! (0)

Anonymous Coward | more than 2 years ago | (#37965598)

Web development is not programming, more like art.

Re:Cue it.. ! (1)

RightwingNutjob (1302813) | more than 2 years ago | (#37966174)

You're going to have a heck of a time doing web development in raw, inscrutable, hexidecimal numbers, directly.

Re:Cue it.. ! (1)

0ld_d0g (923931) | more than 2 years ago | (#37967320)

Why stop there? You're going to have a heck of a time doing anything without CPU microcode, reliable transistors and signal processing.

My take on the C figure (0)

Anonymous Coward | more than 2 years ago | (#37965482)

I think C is under represented, using the same difficulty analysis, because syntactically its much simpler to understand and with a consistent way of solving the problems like cooking recipes. Only when you are provided with more experience you get to make small decisions that influence a lot the stability and maintainability of the problem. But again that comes from experience and mileage not from a question you get to ask, which is what stack overflow is about. A big influence for the under representation figure is also the small standard library which is what maybe generates more questions in other languages like python, php etc, which are the so called "batteries included" languages.

As you can understand i love C, and i am sad its such a frowned upon language. It's not so dangerous as its painted. With experience you can actually minimize all the typical pointer pitfalls to none and looking for error patterns when debugging is also a great help. The only language that i think is great for high level is java and i am really sad it comes with way too much baggage for embedded, even so it forces you to be a good programer.

Re:My take on the C figure (2)

Tacvek (948259) | more than 2 years ago | (#37967498)

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.

If experienced developers carefully reviewed the code, these sorts of problems would be noticed and corrected, and things are fine. Unfortunately, real code review is somewhat rare in the business world, as are static analyzers that would also tend to catch many of these same mistakes. If you properly implement safeguards C can be a fine language, (although admittedly I'm a bit partial to C++ myself as a "low-level" language, despite its many, many flaws).

For a high level statically typed language, I actually prefer C# as a language over Java, although C#'s strong ties to Microsoft are admittedly a negative. They are rather similar languages, each with their own flaws, but I like that C# sometimes adds some syntactic shortcuts for common patterns, while Java absolutely refuses to even consider many syntax-only changes, and when they do add one, like anonymous classes, they feel half-baked.[1]

[1] Anonymous classes must be inner classes, they do not provide the option of being static nested classes which I find to be far more useful than inner classes. They are also not full closures, which are (were?) planned for java 7, which would (will?) end up making anonymous classes feel largely obsolete. (Although in Java's Defense, I'll admit that C# made a similar mistake with the anonymous methods, which really are entirely obsoleted by the newer lambda expressions. On the other hand, C#'s anonymous methods were in fact full blown closures.)

PHP (1)

optymizer (1944916) | more than 2 years ago | (#37965514)

Before the PHP haters start posting comments, I would just like to say: haters gonna hate.

Re:PHP (0)

Weezul (52464) | more than 2 years ago | (#37965766)

I've used PHP for one job. Good god I hated that language! So epically poorly designed. Err, poorly not designed. Form vars dumped in the the global namespace? It takes seriously talented stupidity to improve upon SQL injection. LOL

I've used one language professionally that I hated more though, namely Visual Basic. It's pretty much exactly PHP with some forethought put into language design, except said forethought was done by an idiot, making it actually worse than PHP's "add random keyword" model.

I think VB and PHP copied each other's major mistakes fair well, including the form vars stupidity.

Re:PHP (0)

Anonymous Coward | more than 2 years ago | (#37966844)

Your response is more relevant for 1998 than 2011. "Form vars being dumped into the global namespace" hasn't been around since 2004, as have most of your other problems.

Most Misunderstood... (3)

SharpFang (651121) | more than 2 years ago | (#37965530)

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.

Re:Most Misunderstood... (0)

Anonymous Coward | more than 2 years ago | (#37965686)

This is so true and ought to be modded up. Watch Douglas Crockford on YUI theater to find out some amazing stuff about JavaScrips, EcmaScript, and the history and power of the language.

Re:Most Misunderstood... (1)

sourcerror (1718066) | more than 2 years ago | (#37966050)

I would welcome however to have a built in clone() method, if it pretends to be object oriented.

Easy yet hard (0)

Anonymous Coward | more than 2 years ago | (#37965546)

Anyone tried to write fresh javascript that works well in one browser much less all of them? Javascript problem isn't the language, it's the implementation and it's interaction towards the browser which contains many quirks/gotchas that it's impossible to keep track of them without experience. Add in the ease of entry (meaning more people with less experience) and you get basically this situation.

It's all a matter of perspective (1, Funny)

damn_registrars (1103043) | more than 2 years ago | (#37965566)

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...

Not the top tag though? (1)

iSimon19 (1993340) | more than 2 years ago | (#37965588)

I do find this interesting, considering the top tags for Stack Overflow questions are C# and Java.

Interpreting the statistics... (1)

gstrickler (920733) | more than 2 years ago | (#37965600)

...real programmers don't ask for help, unlike those wimpy JS hacks and C# pretenders.

Failing the inference grade (0)

Anonymous Coward | more than 2 years ago | (#37965692)

Assuming javascript is difficult because many people ask about it, completely forgets that different people have different abilities, skill sets, experiences, and so on. It also forgets that communities themselves have "flavours". That self-selecting bias means that stackoverflow is full of js and c# copypasters because a certain kind of windows-using web enthousiast hangs out there. This reinforces itself, so, well, that's what just got measured. Doesn't say squat about how difficult or even how popular the language is in general. It only says something about what sort of bunch likes to hang out there.

If you'd go to a place talking about systems programming, most will be (implicitly) about C. Find a functional programming hangout, lo and behold, the discussions will center around functional languages. Stackoverflow is no different, even if it doesn't have a specific label put on the outside. The inside is very much biased.

Personally I tend to avoid the site because most of the time it shows up in search results the discussions are too shallow or otherwise unusable, so it's turned out to be a waste of time for me. It's just not my cup of tea, guv, so I don't hang out there. Quelle surprise. Perhaps the most important point about the entire thing is that its fanbois are so infatuated with the thing that they overlook the obvious and start to overgeneralise. To me it is clearly the case that this happened with the rather wild conclusions based on these infographics.

Teaching? (0)

Anonymous Coward | more than 2 years ago | (#37965716)

Maybe it's because C, C++ and Java are taught at schools and universities, whereas JavaScript is usually self-taught?

English thoroughly underrepresented (0)

Anonymous Coward | more than 2 years ago | (#37965776)

I wish people would bother to master their own native languages before attempting to communicate by/with machines.

Amateur programmers not willing to learn (1)

jtara (133429) | more than 2 years ago | (#37965830)

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...."

Re:Amateur programmers not willing to learn (1)

shog9 (154858) | more than 2 years ago | (#37966498)

Yup...

But here's the concept:

Programmers seem to have stopped reading books. [...]

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...

It's about what people visit the site (1)

ImonseI (665939) | more than 2 years ago | (#37965842)

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?".

Place to ask questions (1)

suy (1908306) | more than 2 years ago | (#37965844)

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.

And so on...

TIOBE (1)

Anonymous Coward | more than 2 years ago | (#37965850)

TIOBE is pretty much the most worthless index you can make without just making shit up. I have no idea why people keep paying attention to them.
It boggles the mind why anyone would take a pretty accurate measure of a local population, compare it with a wildly inaccurate one over a larger population, and expect to find some meaningful relation between the two.

It's about browser support (1)

LS (57954) | more than 2 years ago | (#37965862)

With JavaScript, you've got to support multiple browsers from the get-go, doing things that were never intended by the VM implementers, such as network polling and widget systems.

Can we try some plain English? (0)

Anonymous Coward | more than 2 years ago | (#37965910)

The most 'under-represented' major language would definitely be C at 11%.

"would definitely be"? It either is or it isn't.

Teach it to yourself. TIY? (1)

sgt scrub (869860) | more than 2 years ago | (#37965940)

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.

It's because smart questions are closed on SO... (0)

Anonymous Coward | more than 2 years ago | (#37966134)

JavaScript although somewhat "powerful" (honestly a language for which there only exist mono-threaded implementations in this day and age is hardly that "powerful" in my book) it also attracts lots of beginners.

They all dream of writing the next FaceBook and think that to make their webapp look great and intuitive and whatnot to be "social-cloud-2.0-compliant" they need JS.

And they ask dumb stupid questions: and SO users likes dumb stupid questions because they're the questions they do actually understand and they're the ones they can answer and karma-whore.

Now go ask a smart question: recently some dude put up an amazing little question about the nash equilibrium. Some 30K rep user kept insisting that "you can't do better than XXX". Despite several comments and a piece of code showing how wrong he was. Was still refusing to see the facts: "you cannot do better than XXX". These guys think they know it all because they've got 30K rep despite them being often very mediocre programmer.

So ask these smart questions: they get downvoted and "voted for close" nearly instantly. Once these people with rep can downvote, they'll downvote question that they realize are too smart for them to answer.

Joel Sprotski thinks that "any programmers with 3K rep on SO it the kind of genius-programmer anyone want on their team". Sure. I did lose a 7K rep account due to their bogus OpenID implementation and the fact that he didn't know I should link my SO account to several OpenID logins, "just in case" one would be problematic in the future (yeah, sure...). Opened a new account, I'm already a 1K rep on it.

It's really easy to karma-whore / make it to 3K or 10K rep. These aren't great programmers. These aren't good programmers.

The only thing SO is good for is getting rid of the spam.

Their implementation s*ck fat balls too: website is shitty, OpenID issues are boring, uptime is less than stellar. Personally cannot stand that lolcat "I'm working on ur problemz right now" anymore.

Cannot wait for the next big thing that shall extract less newbies and that shall actually encourage smart and thought provoking questions.

JavaScript (0)

Anonymous Coward | more than 2 years ago | (#37966250)

IMO, JavaScript has the lead because there are so many people that can barely program anything, that somehow get into web design positions at large companies.

High scorer languages (1)

Coward Anonymous (110649) | more than 2 years ago | (#37966438)

Would be interesting what languages the high scoring members answer most of their questions. Wildly interpreting it as what languages the competent programmers are using.

TIOBE might be wrong? *GASP* (0)

Anonymous Coward | more than 2 years ago | (#37967078)

Instead of considering this an "over-representation," perhaps this just indicates how incredibly inaccurate TIOBE is?

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...