Our good friends over at TechAU recently published a story that declared “Python was the most popular programming language this year“, with the infographic you see above. But where did this data come from? Nobody knows, until some intuitive Redditors managed to find the original source.
You see, Crispy Codes stole this image from CodeEval, removing any mention of the latter. I also highly doubt Crispy Codes is this impressive company as its website claims to be (with clients such as Xerox and Chevron) as much of the content is copied from other websites.
But the bigger question, where did CodeEval get these numbers?
According to their blog post from February this year, these “are based on a sample size of over 100,000+ challenges processed from Employers who have run challenges on CodeEval in 2012.” In other words, these numbers are the most popular languages out of all the developer challenges conducted with CodeEval. It’s not necessarily the most popular language out there.
So, what is the most popular programming language? It’s hard to say – there are different numbers everywhere. Just from the sources cited from the Reddit thread alone (results are current at the time of writing):
- The Transparent Language Popularity Index says C is the most popular, with Java and Objective C in second and third respectively. Python is 7th.
- The PYPL Popularity of Programming Languages Index says Java is the most popular language, followed by PHP, then Python.
- TIOBE Software Programming Community Index‘s top three is the same as TLPI – C, Java and Objective C take out the top 3 positions. Python is 8th.
But Python’s popularity is indeed increasing. Many universities have opted to use Python in introductory computer science classes – Monash University is one of them – because of its reportedly easy learning curve for novice programmers. Python is used in Google, Yahoo and NASA; and is flexible for both application and web programming.
That said, it is necessary to know Java if you want to code for Android applications, Objective-C for iOS applications, and C++ and C# for Windows and Windows Phone (thanks to its native code support).
Disclaimer: Terence Huynh is a Software Engineering student at Monash University.