Why Do Some Languages Always Come Top? |
Written by Mike James | ||||||||||||||||||||||||||||||||||||||||||
Wednesday, 24 July 2019 | ||||||||||||||||||||||||||||||||||||||||||
JavaScript, Java and Python are again the top three languages in the RedMonk language rankings. While this might seem non-news, it is in fact very good news for devs. As we have commented previously, when it come to the most popular languages, or Tier 1 languages it its terminology, the RedMonk language rankings remain remarkably consistent over time. This is an instance where predictability is an advantage. The rankings are a bi-annual exercise which repeats an analysis first performed in September 2010 by "the Dataists", Drew Conway and John Myles White. What a difference a decade makes - in 2010 the role of Data Scientist was unheard of and the terms "Big data" and "data mining" were newly minted. What the Dataists came up to rank the relative popularity of programming languages was to collect data on the number of StackOverflow questions that were tagged with the name of a language and on the number of projects using the language in Github. They used correlation to check that the two measures were of the same phenomenon. They found it to be at the 0.8% level and they also noted that there were three categories - popular (at the top right), not so popular (the middle region) and fairly uncommon (at the bottom right). Here's their 2010 chart: (click in chart to enlarge) Comparing this to the latest chart, the first thing you'll notice is many more labels on the chart - a lot of new languages have been added over time while few, if any, have been removed. More importantly while the correlation isn't as strong in the middle region of the chart, among popular languages it is even stronger and it's largely the same languages. The Dataists didn't produce a list. However, of the ten languages which cluster at the top left of its chart all were still present by the time we first reported RedMonk's rankings in 2015 - Perl had dropped into 11th place as CSS had been added to the mix. So what has happened between 2015 and now? Very little it seems at the top of the table - Python ousted PHP; C++ which had tied with C# edged ahead. Ruby which had tied with both of them has fallen below CSS and C remains in 9th place. Objective-C, which had tied in 9th place up until the last rankings in January this year when it declined to be in 10th place and seen further erosion in popularity leaving it in 12th. Moreover it was overtaken by Swift, which had risen very quickly to occupy place 18 in 2015 and now comes just outside the top 10.
In his commentary on the latest rankings, Stephen O'Grady starts with TypeScript which advanced two places over the previous ranking to put in in the Top 10. Three years ago at this time, TypeScript had just broken through to #26 after languishing in the thirties for years. This quarter, as mentioned above, the JavaScript superset capped off one of the more remarkable growth stories we have ever seen in these rankings, placing in the top ten for the first time after surging to #12 last quarter. In doing so, it passed both Objective-C and another fast riser on these rankings, Swift. Ironically, those two languages competition with one another is likely what enabled TypeScript to pass them both, but it is no fluke. The ubiquity of JavaScript coupled with the optional safety offered by TypeScript has proven to be a winning combination, and vaulted it directly into rare territory. It will be interesting to see if it can sustain this rank, or if like Swift before it, this is a temporary gain. Either way, TypeScript is a language that many are betting on moving forward. Go attracts attention for moving two places in the downward direction: For the second run in a row, Go dropped one spot, this time out of a tie with R for 15th back to 16th on our list. To be sure, placement in the top twenty is by itself a remarkable achievement; many popular, widely used and beloved languages lay well behind it. But for all of its credibility and usage in widely used, popular projects, Go’s lack of versatility – perceived or otherwise – has limited its upside Kotlin is also singled out for having stayed put at the 20th rank with O'Grady noting: ... that ranking is a remarkable achievement, particularly for a language as recently popularized as Kotlin. That being said, having seemingly plateaued the question for advocates of the language is what, if anything, will put it back on the kind kind of trajectory that TypeScript finds itself on. It is more versatile than Go, and like TypeScript has compatibility with an immensely popular and near ubiquitous language (Java) in its favor, but it also has shown little mainstream traction as a viable replacement for and alternative to Java the language (as opposed to Java the platform), which is somewhat surprising given both Kotlin’s aesthetic and stylistic appeal and the market context, specifically some of the controversies around Java and its stewardship. Yes one could expect that Java's popularity would decline as Kotlin's increases - and similarly that TypeScript would impinge on JavaScript's popularity. But instead what we see is that it is very difficult to displace the most popular languages which have become firmly embedded as the foundations on which software is built. This doesn't mean to say we shouldn't espouse new languages, especially when they can co-exist with the established ones, but it is very hard to discard what we already have. Old languages never die they simply become less loved.
More InformationThe RedMonk Programming Language Rankings: June 2019 Related ArticlesLanguage Ranking Almost Unchanged Over Time RedMonk Rankings Reveal The Languages We Love Redmonk Language Rankings January 2017 Top Languages 2015 - Stasis But For Go And Swift To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
Comments
or email your comment to: comments@i-programmer.info
<ASIN:1871962587> <ASIN:B07S1K8KLW> <ASIN:1871962536> <ASIN:B07S4LYXHG> |
||||||||||||||||||||||||||||||||||||||||||
Last Updated ( Wednesday, 24 July 2019 ) |