Comparing language rankings and radars
However you look at it, language rankings are often used to make a strategic decision about what programming language to adopt for your next project. We take a look at the technology radars out there that are worth your time and understanding.
While it isn’t always a definitive factor when choosing to learn or use a programming language, rankings and technology radars have often opined their pick of the bunch via the analysis of an assortment of data. Data is classified as anything from search engine results to information collected from Google Trends.
These kinds of reports often set out to identify the best or most popular languages, which can have some sway in what businesses and developers look to regarding programming language choices. Because of their influence, we wanted to look into exactly what these ranking systems offer.
A closer look behind the rankings
One of the most well known (and often criticised) ranking systems is the TIOBE Index, which calculates monthly line-ups of the most searched-for programming languages. The calculations are made based on the number of search engine results for queries containing the name of the language, which includes searches on Wikipedia and YouTube.
This collection method of data is said to be “a lagging indicator” by the team behind another ranking index, the PYPL Index (PopularitY of Programming Language):
Objective-C programming has over 20 million pages on the web, while C programming has only 11 million. This explains why Objective-C has a high TIOBE ranking. But who is reading those Objective-C web pages ? Hardly anyone, according to Google Trends data.
In contrast, the PYPL Index is created by analysing “how often language tutorials are searched on Google”. PYPL says that the more a language tutorial is searched, the more popular the language is assumed to be. “It is a leading indicator”.
The emphasis on the word ‘tutorial’ for the PYPL team means that they’re focusing more on what stands out to developers learning a programming language, whereas the TIOBE Index focuses only on search results containing the name of the language. With some names meaning different things (eg: Python, Rust, Ruby, Lisp), PYPL states that the addition of ‘tutorial’ when compiling search engine data means that no qualifying word is needed to determine its meaning.
SEE ALSO: Java is back on top of the TIOBE Index
Another ranking system noted as more sophisticated and transparent is the RedMonk Programming Language Rankings, which determines its list by calculating a language’s popularity rank on Stack Overflow against the number of projects on GitHub where the language is used.
Again, the focus here is on developers, but it also helps to show businesses what languages are used and how actively discussed they are by the programmers using them in order to affect decision making:
The idea is not to offer a statistically valid representation of current usage, but rather to correlate language discussion (Stack Overflow) and usage (GitHub) in an effort to extract insights into potential future adoption trends.
The RedMonk crew are quick to point out that no claims are made showing that their rankings are representative of broader general usage. “They are nothing more or less than an examination of the correlation between two populations we believe to be predictive of future use, hence their value”.
This again shows how communities of developers are influencing ranking systems, rather than pure search engine data.
The Technology Radar approach
When speaking of developers being influential in ranking systems, the team behind the ThoughtWorks Technology Radar have put together a system that is based on the technologies generally exciting them the most. Developed by a firm that calls itself “the rare consulting company that gives honest opinions about technology”, the Technology Radar is discussed at length by Director, Software Architect and Meme Wrangler at ThoughtWorks, Neal Ford.
Many people misinterpret the purpose of ThoughtWorks radar. For us, it is a snapshot in time of what a group of opinionated technologists think is cool. It’s not a technology lifecycle assessment tool – some technologies that we truly love, like GitHub faded long ago in our “no brainer” adopt category. The metaphor is apt: radar tracks near-term incoming objects.
The radar is described as “a living document to assess the risks and rewards of existing and nascent technologies”, with an area that focuses particularly on Languages and Frameworks. The radar is split up into four ‘rings’: adopt, trial, assess, hold.
- The Adopt Ring represents blips (a term ThoughtWorks uses to describe technologies) that they think you should be using now. While the language may not be the right fit for every project, a blip in the ‘Adopt Ring’ represents something where there is no doubt that it’s proven and mature for use
- The Trial Ring is for blips that are thought to be ready for use, but not as completely proven as those in the ‘Adopt Ring’. This means that for most organisations, ThoughtWorks think you should use these on a trial basis, to decide whether they should be part of your toolkit
- The Assess Ring are things that have been labelled as something you should look at closely, but not necessarily trial yet – unless you think they would be a particularly good fit for you
- The Hold Ring is for frameworks that are getting attention in the industry, but the company don’t think are ready for use. This could be due to the immaturity of the technology or perhaps because the group finds the blip “irredeemably flawed”. As a note, technologies in the ‘Hold Ring’ are not of the ilk that are recommended to ThoughtWorks customers
The team behind the radar are endearingly honest about their decision-making process, suggesting that things only go in the ‘Adopt Ring’ if “we would laugh at you in the pub for not using them on an appropriate project”.
The Technology Radar doesn’t exactly act as a ThoughtWorks approval system for new and upcoming blips, but it does capture trends and significant changes that the team deems important to track. Again, these rankings are based on the opinions of the senior technology team, so it’s not always going to be a comprehensive list (due to space and level of exposure).
However, a ranking system such as this, much like the PYPL and RedMonk Indexes, are based on the opinion of community members who interact with the technologies in a way that developers new to a language would trust. ThoughtWorks also encourage the creation of your own radar, which can be read about in the radar’s FAQ here.
Which ranking system do you prefer? Are there others that we’ve failed to mention? Let us know in the comments below.