As you can imagine, we're sitting on quite a bit of data here about programmers and the technologies they use. We've used this for various things in the past (for instance, you can use your history on the site to promote yourself on Careers 2.0) but we've never done a deep dive into the data and presented what it says about the popularity of various technologies among developers.
Well, as you can tell from the title of the post, that ends today. Thanks to the help of our summer math intern Qiaochu, we pulled millions of data points around some of the most popular technologies and are now ready to settle the debate and declare with certainty which technologies developers prefer.* We'll start with two matchups today, but we'll be doing some more in the near future.
Before we get started, a quick note on the methodology (since I know it will get challenged in the comments): we looked at a number of different metrics and ultimately settled on using % of total users who are active (active being defined as asked, answered, voted, or commented on a question in that month) on the relevant tags. All of the other metrics you'd think of (page views, total votes, etc) tracked pretty closely with the users numbers but were much more likely to be skewed by "blockbuster" questions and were therefore deemed less reliable. And with that out of the way, on to the matchups!
#1 - Android vs. iOS
There have been endless articles written debating which platform is more popular with developers, Android or iOS. Some have claimed that iOS is more developer friendly, while the other side claims that Android is bound to win and so developers should focus on that. After analyzing all our data, the verdict is: Android is now more popular than iOS with developers.
As you can see below, iOS was running ahead of Android for several years, but peaked and stagnated in June 2010 (following the release of the iPhone 4). Android, on the other hand, has been on a tear since December of 2009 and overtook iOS as of the beginning of 2011. Unsurprisingly, iOS continues to stall (even declining somewhat) whereas Android continues its growth and is now approaching utilization by 10% of all SO developers.
#2 - Flash v. HTML5
This one is another biggie with most people coming down hard on one side or the other (and being fierce about it). But for most, the fact that HTML5 is the winner here isn't the big surprise: rather, it's how long its taken HTML5 to overtake Flash.
Flash has been on a long (but slow) slide downward as its fallen out of favor in the last few years. That said, there's a lot of legacy support left for it and a lot of people who still really want it (can you say, restaurants) even with it's inferior user experience; and as such, there's still plenty of developers asking and answering questions about it on SO. HTML5 on the other hand has been on a slow and steady climb; not the rocket like growth that Android has shown.
Still, we can see that HTML5 is the rising star and Flash is on the way out, but it looks like it will still be around for a while before it does.
So there you go, Stack Overflow's first round of technology face-offs. We've got more planned, but feel free to suggest any others that you'd like to see and we'll try to fit them in.
*obviously this line is in jest - but we do still think this is a pretty good approximation and insight into how the usage of various technologies has evolved