As the Dynamic Languages Experts we often get asked:
- Which open source dynamic language has the greatest usage?
- Which open source dynamic language is currently growing the fastest in usage?
Why are these questions relevant? Our customers and partners want to know:
- How to evolve their products to support the needs of these languages
- What language to use as they create new applications or upgrade systems
- What language has the biggest community they might be able to rely on and
- What languages are popular so they can keep up with the market
One source that is often used to answer the "usage" and "growth" questions is the TIOBE Index, which tracks a variety of different programming languages. However, some people have voiced concerns about the reliability or accuracy of this index. At ActiveState, based on our own web statistics, interaction and conversations with developers, and sales figures, we also have our own data on answers to the "usage" and "growth" questions, but we wanted to expand our data set with other third-party sources beyond are own or TIOBE.
We looked at the following additional sources: MarkMail, Indeed, Ohloh, and BlogPulse. See "Detailed Approach & Methodology" section for complete research details). Indeed was the source that received a higher weighting relative to the other sources as it represents how ingrained or prominent each programming language is within development environments. Furthermore, we feel Indeed captures both new development and older code bases, exemplifying how "sticky" a programming language has been over time.
So what's the answer?
Based on a compilation of data from all these sources, we tabulated scores, weightings, and rankings for these languages.
Which Dynamic Language has the greatest usage?
Which Dynamic Language is currently growing the fastest in usage?
Why does Python have such high usage and growth? We believe there are a few reasons:
- Companies from Microsoft to Google have embraced Python and are not only supporting its use, but also investing in its development
- Strong support and community
- Established developer base
- Enterprise friendly licensing
- Popularity for web applications as cloud computing becomes more prevalent
- Proposed by the SEC for use in financial modeling
- Younger programmers (tomorrow's software leaders) are preferring to learn Python, Ruby, or PHP; rather than static languages.
- IT is a big user of scripting solutions
- Ease of use
- Lower development costs, reduced maintenance costs, and faster development times/faster time to market
- The large communities around these languages have built considerable knowledge bases and broad code repositories for potential reuse across a wide range of applications.
What do you think? Why do you think Python is growing so fast? Are you planning on switching to Python, if you haven't already done so?
Detailed Approach & Methodology
To compile and summarize the information, in addition to the TIOBE Index and our own internal data, we used the sources and methodology below.
MarkMail: MarkMail is a free service for searching mailing list archives. By searching on specific terms, such as "Perl" you can get an indication over time how often Perl is used on the mailing list archives compared to say "Python". You can get an indication of both "usage" and "growth" from MarkMail. The following two figures for Perl and Python are examples. As you can see, Perl has been steady since 2001, while Python has been showing growth over the years.
Ohloh: Ohloh is a free public directory that tracks open source software and people who are involved in open source projects. They have a very good tool for tracking and comparing what is going on with many different programming languages. For purposes of getting more insight into our "usage" and "growth" questions we focused on three specific tools: commits, contributors, and projects. The results for commits are shown in the two figures below. The "values" figure allows us to gauge usage activity whereas the "relative" figure allows us to gauge the growth of the languages relative to each other.
Source: ohloh - http://www.ohloh.net/languages/compare
BlogPulse: BlogPulse is an automated trend discovery system for blogs. Similar to MarkMail but rather than focusing on mailing list archives it focuses on what is being said in blogs. BlogPulse is good for a feel on the "usage" question, but not on the "growth" question for the timescale they use is too short. What we found on BlogPulse is as follows:
Source: Perl, Ruby, PHP
Of course with MarkMail, Indeed, and BlogPulse our analysis will include counts for search terms that do not have anything to do with a Dynamic Language (such as snakes for "python"). This is not a science, but it broadens our view by considering a number of different factors rather than just using TIOBE and or our own internal data.