

Github and Stackoverflow programming language popularity - mooreds
http://redmonk.com/sogrady/2012/09/12/language-rankings-9-12/

======
smoyer
"a few surprises on this list – the continued traction of Java"

I'm not surprised by this at all ... while looking for work recently, I was a
bit shocked at how much of the doom and gloom being spoken about Java was
wrong. It's not cool to say you're a Java developer, but most of the corporate
world runs on it, even if no one admits to be the person developing those
applications.

There were even a few projects where the cool languages (we're moving from a
Node.js platform to something that's more maintainable) had failed and were
being replaced. I'm not sure this is Node's fault (you can get this with any
language if the architect and/or lead don't know what they're doing) but it
does say something about Java.

At JavaOne this year, there were a lot of great sessions and a lot of optimism
about where the next set of specifications were headed. I for one fell back in
love with Java through a combination of JEE6 and GWT. It's so much easier to
be a developer than it used to be. I will admit that I love Python and
Coffeescript too, but I don't generally write large projects in either one.

So I don't expect Java to lose popularity more than a few spots ... it's
entirely possible that Java is now "well known" (at least by the StackOverflow
measure) and just doesn't have as many unanswered questions. In any case, I
expect it to be around a while, When Y3K rolls around it won't be the Cobol
programmers in demand - it will be those of us who know Java inside and out.

~~~
teacurran
Java doesn't get a lot of press or cool points, but the enterprise world is
massive and anyone in it knows there's still a lot of spending going on for
java projects.

It's also worth noting that several other languages on the list only run on
the Java Virtual Machine. (Scala, Groovy, Clojure, Gosu, Ceylon). Jobs for
these languages are commonly filled by people who identify as Java developers.

~~~
halvsjur
There is a Scala.NET (<http://lampwww.epfl.ch/~magarcia/ScalaNET/>) project by
the way.

~~~
ville
And Clojure also runs on CLR (ClojureCLR) and can be compiled to JavaScript
(ClojureScript).

------
bryanlarsen
Keep in mind that Javascript is hugely overcounted on Github. How many web
applications include a copy of jQuery and friends in their source? There are
lots of Ruby on Rails applications on Github that list Javascript as their
primary language.

~~~
saryant
Same with Scala vs. Java. I have a few Scala projects on Github and they tend
to be counted as Java even if there's one file of Java code in there versus
dozens of Scala files.

------
aai2
Check out my article "Measuring Language Popularity is Harder Than Many Think"
[http://smthngsmwhr.wordpress.com/2012/11/19/measuring-
popula...](http://smthngsmwhr.wordpress.com/2012/11/19/measuring-popularity-
of-programming-languages/) and I must say that both github.com and
stackoverflow.com are not just typical sites and getting data only from those
sites is not enough. JavaScript is very popular at github.com and C# at
stackoverflow.com Other sources give different results as well.

We may be more or less sure only in 10 or so most popular languages and
judging relative online popularity may be hard for them.

------
jff
This is a good measurement of what languages people on Github use, and which
languages people on StackOverflow are having trouble with.

They mention Go, for instance. I write a lot of Go. I put it all on Bitbucket.
I've also found that questions about Go are best answered on golang-nuts or in
the IRC channels, or in the documentation, rather than StackOverflow.

It's a pretty cool plot, as long as you take it for what it is: a
representation of how many repositories exist on Github, and how many people
are asking questions on Stackoverflow. In terms of measuring language
popularity, it's about as useful as TIOBE.

------
achat
Somehow I do not feel confidant about correlating language popularity on
stackoverflow to the actual popularity. For some languages (e.g. in my
observation:, c#, objective c), there are only few tutorial/sample code
outside of stackoverflow as compared to other languages (e.g. again in my
observation Java). This makes more and more activity on stackoverflow for some
languages as compared to the other languages which has more sample/tutorial on
other place on internet. In my observation, whenever I am writing code in c#
and objective c, I almost always land to stackoverflow by google search but
this is not the case whenever I write code in JAVA

~~~
sogrady
(disclaimer: i'm the author) it's important to keep two things in mind when
considering any ranking: first, and most obviously, no language ranking will
be perfect for all readers, because the metrics for ranking languages will
vary on an individual basis. second, the intent of the ranking. for our
purposes at redmonk, this is an important consideration, because we neither
intend to nor claim to produce rankings that are representative of language
use broadly. if the rankings were representative of all use, languages such as
COBOL would have a substantial presence on the list. we are rather interested
in communities that we believe to be more predictive in terms of future use,
of which github and stackoverflow are two obvious examples. the sustained
strength of javascript on both properties has been one example of their
ability to identify trending languages.

as for the criticisms regarding the usage of stackoverflow above, this is why
we correlate the stackoverflow rankings with github. one represents discussion
and research about a language, the other is manifestation of activity within a
language. what's interesting is that the correlation between these properties
has historically been strong and appears to be getting stronger over time.

again, no ranking is perfect - ours included - but we feel that measuring
programming language interest and traction via these properties is at the very
least an interesting datapoint.

~~~
achat
Completely agree. I commented based on my personal observation which, I guess,
can not be generalized.

------
aai2
And judging the relative popularity for less popular languages such as Common
Lisp is even less precise if we base the research only on github and
stackoverflow. So I would be very careful with this comparison of language
popularity. Although it is better to have some chart that none :)

~~~
mooreds
I agree. The data is not the best, but having some data is better than none,
as long as the graph is taken with a grain of salt.

~~~
aai2
Yes, precisely. Still this is a very interesting research and you can see
clusters of languages like the most popular ones. I just noticed that people
often tend to look at a chart and jump to quick conclusions, so just wanted to
add this "grain of salt" :)

------
city41
These are curious statements:

* CoffeeScript is a simplied version of JavaScript that infuriates technologists with its technical compromises

What compromises and how is it simplified? If anything it's more complex than
JavaScript.

* while Assembly is as close to the bare metal as most developers today are likely to get.

The only thing closer would be machine code. Not sure I want to develop in
that :)

(btw, hijacking the clipboard is kind of annoying :-/)

~~~
KMag
Arguably VHDL and Verilog are closer to the bare metal than assembly. Of
course, everyone I personally know who are coding VHDL or Verilog
professionally are either working on latency-critical financial systems or
defense systems.

Edit: ... and my guess is that VHDL and Verilog are likely to be under-
represented in public data.

------
pjhyett
If folks want to improve our language detection on GitHub, please take a look
at <https://github.com/github/linguist>

------
igouy
The "analysis" is just as broken as when it was last posted here 2 months ago

<http://news.ycombinator.com/item?id=4512702>

------
novalis
Looks like the biggest mover is Haxe and it doesn't get a mention at all, or
am I misreading these charts.

------
somid3
is it possible to get numbers and units on the axis? what does the 80 mean, I
think this is incredible

~~~
mertd
I'm having trouble parsing the SO axis as well. Python (145K tags) and PHP
(300K tags) are right next to each other around 90. R (19K tags) and Delphi
(17K tags) are just slightly below around 80.

~~~
sogrady
the numbers for both axes are their respective rankings, not actual tag
counts. their positioning, therefore, isn't directly proportional to the
actual tag volume, but how they rank relative to one another. if we had actual
numbers on the github side rather than just the rankings, we'd account for
this by introducing a logarithmic scale, but we're constrained by what the
data we have access to.

------
hakcermani
Great Haskell is right up there with Assembly. And which Nimrod will learn
Nimrod ?!

------
somid3
this is an incredible graph, I am sending to all my coder friends

~~~
igouy
"incredible: impossible or very difficult to believe"

[http://dictionary.cambridge.org/dictionary/american-
english/...](http://dictionary.cambridge.org/dictionary/american-
english/incredible?q=incredible)

See <http://news.ycombinator.com/item?id=4516651>

~~~
klibertp
I would suspect that grandparent knew exactly the meaning of "incredible", as
it is just very difficult to believe that this graph represents anything more
than what people use SO and github ;)

~~~
igouy
I suspect that somid3 was simply being emphatic.

Actually, the graph is a gross distortion rather than difficult to believe --
see <http://news.ycombinator.com/item?id=4516651>

~~~
klibertp
Yes, I read that and was referring to this exactly, but somewhat jokingly. I
just thought that "incredible" could be a more polite way to say "useless"...

~~~
igouy
>> "incredible" could be <<

... enthusiastic - like "terrific" "fantastic".

What somid3 meant is not at all clear.

------
Toshio
My interpretation of this is that Common Lisp is a computer scientist's
language (lots of code written in it, very few questions, presumably these are
very advanced level questions).

On the other hand, C# and Visual Basic are weekend coders' languages
(reasonable amounts of code, massive amounts of very basic level questions).

~~~
anonymfus
>On the other hand, C# and Visual Basic are weekend coders' languages

Or they simply have anti-git bias in developer's culture. Like F#, which is
not popular among beginners but placed far away over median too.

~~~
josteink
Seconded. In C#'s favourite environment (Visual Studio) the GIT-support is so
far from seamless that it's one of the last source-control/VCS's you'll
consider.

~~~
nahname
Does that matter because of the missing feature (which is actually pretty good
if you try git-extensions or github for windows) or is this because of the
community? Not needing editor/IDE integration is one of the primary reasons
git is better than other source control options. You could easily make the
case that VS users are not comfortable on the command line.

