

Programming Trends on StackOverflow - damian2000
http://www.dodgycoder.net/p/programming-trends.html

======
oneeyedpigeon
Interesting data. The founders (Joel Spolsky, Jeff Atwood) are strong
proponents of Windows programming, and the initial popularity of .net and c#
make a lot of sense in that context. As the site has become more and more
popular, the audience now consists of many people who aren't even aware of who
those founders are, let alone follow their work. As such, the language spread
is much more representative.

As someone who never goes anywhere near Windows programming, I'm quite pleased
about the direction this trend has taken.

~~~
brudgers
Given StackOverflow's structure and operational methods, one would expect
questions about products in the Microsoft stack to decline as searches return
more relevant answers.

To put it another way, as the site matures, more questions about _x_ will tend
to correlate to the inverse of _x_ 's formal repositories of knowledge.

A user who finds an answer to their ASP.NET question on StackOverflow, doesn't
ask a new question.

~~~
farinasa
This is a problem I run into. As a more junior developer, nearly all of my
questions I haven't been able to answer with research have already been
answered on stackoverflow. Employers want me to have tons of points, but I
don't usually have to ask any questions.

~~~
valdiorn
Your employers actually track your StackOverflow karma??

------
sdfjkl
Same data as area chart, attempted to sort categories by age while keeping
related technologies grouped:

[http://cl.ly/image/1U400y1l2t3r](http://cl.ly/image/1U400y1l2t3r)

~~~
bicx
This is probably something I should already know, but how do you read a chart
like this?

~~~
sdfjkl
Think of it as a number of streams[1] running in parallel. The wider the
stream, the more important the associated tag. Since the actual values are
scaled to add up to 100%, comparing between relative importance is all they're
good for.

There's also aa absolute version of this, which is a simple stacked area
chart. It's not so useful here, because the relative popularity of tags is
much more interesting than the absolute numbers, which are largely a function
of StackOverflow getting more users in total. See for yourself:
[http://cl.ly/image/101e1y1q3i19](http://cl.ly/image/101e1y1q3i19)

[1] There's also a thing called a "stream graph", which is related but not the
same:
[http://en.wikipedia.org/wiki/Streamgraph](http://en.wikipedia.org/wiki/Streamgraph)

------
eterm
I can't help but think this would be better visualised as a time series with
time on the X-axis and a number of series drawn as lines.

~~~
damian2000
Yes that's how I originally tried it, but it was hard to pick out the trends
since a bunch of lines were grouped together. Admit that the way its been done
here is fairly strange, hopefully its useful to someone.

~~~
podperson
Another option would be a stacked area graph like this (the one on the right)

[http://www.asymco.com/wp-content/uploads/2013/06/Screen-
Shot...](http://www.asymco.com/wp-content/uploads/2013/06/Screen-
Shot-2013-06-03-at-6-3-5.31.21-PM.png)

~~~
jacobparker
Wow. Stacked area charts are so bad at conveying information efficiently or
honestly - this one would be a good parody if it wasn't presumably an honest
attempt.

RE: dishonesty, see for example [http://www.leancrew.com/all-
this/2011/11/i-hate-stacked-area...](http://www.leancrew.com/all-
this/2011/11/i-hate-stacked-area-charts/)

RE: inefficiency, note how bad the trend lines become near the top as the
noise accumulates from the curves below. e.g. the galaxy tab curve on the
left. I am reduced to visually converting areas into numbers (something humans
are quite bad at) and searching for the previous data point, etc.

The one major thing this chart has going for it, though, is that it makes me
want to play some old school video games.

See also:
[http://www.edwardtufte.com/tufte/books_vdqi](http://www.edwardtufte.com/tufte/books_vdqi)

~~~
podperson
"Here’s a fictitious example to show what I’m talking about."

Yes, the author's fictitious example sucks.

The chart I linked shows the data points as discrete, so it's actually the
_stacked column chart_ the author claims to prefer and eliminates the
confusion between height and thickness (that said, I don't object violently to
that specific issue since I know how to read the charts).

Why convert curves to numbers? If you just wanted numbers read tabular data.

Tufte uses the equivalent of stacked area charts in one of his most famous
examples (Napoleon's attack on Russia). Is it the width or the height of the
bar that connotes the strength of the army?

[http://www.google.com/imgres?imgurl=http://cartographia.file...](http://www.google.com/imgres?imgurl=http://cartographia.files.wordpress.com/2008/05/minard_napoleon.png&imgrefurl=http://cartographia.wordpress.com/2008/04/30/napoleons-
invasion-of-
russia/&h=955&w=2003&sz=671&tbnid=2anacREESI1bUM:&tbnh=57&tbnw=120&zoom=1&usg=__6WJcpBmkRd4nkyuw0QS8AuQRayA=&docid=S0uQtYuQ0nODHM&sa=X&ei=PfjWUZyNGcaJjAL7_4CIDw&ved=0CEEQ9QEwAg&dur=389)

Tufte's great. You can quote him on both sides of most arguments. Displaying
information well requires judgment, not just a bunch of rules.

~~~
jacobparker
The graph you linked is discrete only by technicality (all data samples are
discrete, after all.) Compare how yours is 19 time slices squished together
into a width (normalized for aspect ratio) almost half the size of the one I
linked, which is 6 data points with adequate white-space.

Please note that in the (excellent) Napoleon chart, cross sectional thickness
is used to convey the size of the army. Not only is this intuitive, but it is
masterfully hinted by the way the line shrinks. Stacked area charts (as
detailed in the article I linked) however are unintuitive - a slowly
increasing trend stacked on a faster increasing trend will appear to decrease
- this is very undesirable.

The chart you linked seems to want to say "The PC(+tablet) market is
increasing, but Window's user base is stagnant". Either unstack the data or
throw away/combine the irrelevant data. If you want to compare the Galaxy Tab
to other Android tablets (as this chart seems to want to do as well) you will
need a better chart or a second chart. The top of left chart is visual noise.

------
GFischer
Add to the TIOBE data, and it doesn't look pretty for Microsoft.

[http://www.tiobe.com/index.php/content/paperinfo/tpci/index....](http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)

I suspect it's because of the failure of Microsoft in the mobile space.

~~~
michaelwww
I think it's an exaggeration to say "it doesn't look pretty for Microsoft"
especially since the drop in C# can be explained in part by Microsoft actively
encouraging C# devs to start writing TypeScript/JavaScript applications.
Microsoft has decided the future is TypeScript. If you want C# on mobile your
best bet is to look at Xamarin, which is run by Miguel de Icaza of Mono fame.
I'm curious how much MS has invested in that company.

Reference:
[https://www.youtube.com/watch?v=3-5nExkCvAY](https://www.youtube.com/watch?v=3-5nExkCvAY)

------
kailuowang
I am a little surprised how comfortably PHP has remained as one of the top
ranked tag. It's not consistent with the trend here on HN.

~~~
revskill
I guess that most PHP developers 're busying with their coding, not viewing HN
threads like most of Ruby developers ;)

~~~
yen223
With a language as unstable as PHP, of course you'll be spending more time on
StackOverflow than on HN ;)

------
jchung
Does the data provide views by tag? I'm a frequent beneficiary of SO content,
but rarely have to ask new questions myself. Measuring views could give a more
accurate depiction of how many devs are working on each tag.

~~~
damian2000
It does provide that yes but I think it could be easy to skew that when a
handful of questions get a huge number of views due to being linked somewhere
like the stack exchange newsletters, or other places.

------
yulaow
So, are we seeing a fall of microsoft from the developers' point of view? Are
windows phone and asp.net mvc not enough to try to get back the hackers in the
platform?

~~~
throwit1979
No. SO was founded by two windows developers, and build on a windows stack.
They had a podcast detailing the process of development prior to public
release of the site, followed primarily by windows developers.

The initial audience of the site was, ergo, primarily windows developers. As
popularity grew, more developers from the broader community showed up, driving
the proportion of windows questions down.

~~~
jaredmcateer
Also as the knowledge base of questions for a tag grows, room for new
questions become fewer. Duplicates will be asked but I wonder how many times a
person has a problem, does a search, finds an answer and never has to ask
their own question on the topic.

~~~
viraptor
Unfortunately breakdown for the close votes is not available like for the
flagged answers. But my experience with the review queue is that 1 in every
4-5 votes is due to a duplicate.

Considering there are 58.1k close votes to review at the moment... that's
loads of dupes.

------
joshuak
It seems to me that this graph represents newness not popularity (to the
degree it represents anything at all). That is when tech is new or has a new
release more questions are asked about it. Once those questions are answered,
fewer and fewer questions remain.

However, the problem is there are lots of noise sources. Is the tech
complicated/confusing so lots of clarifying questions are asked? Are there
lots of updates and releases? It the tech a lot larger in scope, such that it
takes more questions to cover it? Is it in very heavy use and people are
typically well versed in it so there are fewer questions? etc.

All in all I'm afraid it is hard to draw any meaningful conclusions from this,
and easy to be mislead.

------
FollowSteph3
Lotta java haters yet it stays steady. I also remember 1-3 years ago HN was
full of RoR fanboys but its been pretty slow since and SO trends aren't good.
It's interesting how things change and what becomes more fad like. They're
both good languages, I'm just saying this to say there are no magic silver
bullets ;)

Personally i think that what happened is that RoR just didn't scale to bigger
projects. Java isn't perfect by any means but right now there isn't anything
that scales out as well. And by scales out I don't necessarily mean
performance, I mean team size.

------
dpritchett
As a happy Ruby/Rails dev I can't figure why Python has double the
marketshare. I guess it's the Google backing and the history of Linux admin
usage?

~~~
s_kilk
Python seems to be used in a lot of contexts, not limited to web development.
While Ruby is a lovely language it appears to be used primarily with Rails in
a web context.

~~~
yen223
That's right. Python is popular among sysops folks, and the
scientific/mathematics people.

------
kp27
This is pretty cool, the last frame is telling.

It would be interesting to see the tags compared to each other by their
relative bucket. As in IOS/iPhone/Android or web frameworks
Django/RoR/Play/etc compared.

Also I'd be interested in knowing how the java popularity is without android
(postings without the android tag).

~~~
gamegoblin
Agreed with buckets. The iPhone tag drops to next to nothing, but iOS rises. I
suspect this is due to people programming more for the iPhone/iPad family
rather than just the phone. I wish that they were all grouped.

------
frankcaron
Surprised to see Objective C dropping; I wonder why that is? It sure doesn't
feel like iOS is getting more web view apps, and with the increased frequency
and quality of apps on the App Store in lieu of iOS porting, you'd think it
would go up.

~~~
damian2000
Its not really dropping in terms of total questions asked, (obj-C has been
sort of constant for about 12 months) but the other tags are increasing. The
chart shows a proportion of the top 25 tags.

~~~
frankcaron
Ah, fair enough.

------
digikata
It would be interesting to see similar data for which tags are marked for
ignore by users. That might be a more indicative of users moving on...

------
rorrr2
1) Just because something is down percent-wise, doesn't mean it's actually in
a decline. It's possible the overall numbers grew a lot.

2) This visualization is bad.

