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
There are six key dynamic languages (or scripting languages, as some people say) that we focus on: Perl, Python, JavaScript, PHP, Ruby, and Tcl.
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?

When it comes to usage, not surprisingly, PHP is the leader due to its huge presence on the web. This is followed by JavaScript, then Python/Perl (which are effectively equal), then Ruby and of course rounding out the list is Tcl, which is a very niche language.
Which Dynamic Language is currently growing the fastest in usage?

No question. Python is the fastest growing Dynamic Language today. We think many are under-estimating its popularity and we expect to see a lot from Python in the coming years. Python is then followed by JavaScript, then PHP, Ruby, Perl, and Tcl. What will be surprising to many is that Ruby ranked 4th on the list!
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
Except for Tcl, eWeek recently included Python, Perl, Ruby, PHP and JavaScript in the "Top 10 Programmer Languages to Keep You Employed". Some of the drivers for the popularity of dynamic languages include:
- 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.
Perl

Source: http://markmail.org/search/?q=perl
Python

Source: http://markmail.org/search/?q=python
Indeed: Indeed.com is a search engine for jobs and we use their "job trends tools" to track how often job postings reference the popular dynamic languages. They have both an absolute and a relative comparison which can be seen below. As you can see, JavaScript and Perl are the most popular languages mentioned in job descriptions. But Ruby shows the most relative growth.

Source: Indeed - Absolute for perl, python, tcl, php, ruby, javascript

Source: Indeed - Relative for perl, python, tcl, php, ruby, javascript
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

Source: JavaScript, Tcl, Python
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.
Trackback URL for this post:
Comments
Very interesting. We chose Python (Jython, actually) to implement a new open source project called RESTx, a fast and efficient way to create RESTful web services.
We specifically allowed for custom components to be written in Python and in Java - with language specific APIs - so that developers and IT can chose the language to express their data integration, access and processing logic in. Your comment that younger developers prefer the dynamic languages and that those also have a lot of support in IT departments certainly rings true.
In upcoming releases we'll add support for JavaScript (on the server), Ruby, but also Groovy. We are glad to see your results here confirm our decision.
The easons for pythons popularity seem to cover mostof the dynamic languages, from a Tcl perspective these are also true
* Companies from Microsoft to Google have embraced Python and are not only supporting its use, but also investing in its development,
Many companies use Tcl/Expect for cheap test automation without reporting it. It just seems to be the default tool for testing things other than web pages!
* Strong support and community
Tcl has some of the best support I've ever seen on anything, the wiki is updated daily with user input and the news groups are very usefull. all the help you need
* Established developer base
Arn't the TCL core team an established developer base, or do you mean user base? I've been using Tcl/Tk/Expect for 16 years! and I expect most Tcl users are the same.
* Enterprise friendly licensing
This is very true for Tcl :)
* Popularity for web applications as cloud computing becomes more prevalent
Probaly not now.
* Proposed by the SEC for use in financial modeling
Don't know what requirements are required for this!
Python is on the OO bandwagon so the blind will pull anything along they are told too.
The OhLoh graph would suggest that the time for dynamic languages is comming to and end, the trend is down since last year on all of them!, expect for Tcl of course that seems to be stable :)
What mailing lists were looked at for the markmail results, not knitting mailing lists on zoo mailing lists I hope : }. this is very flawed unless you can limit the search to engineering type archives. We only have to have a story in the press about a python escaping or eating dogs etc to affect these results. I wouldn't want to chose my companies strategic programming tools based on media coverage of a unrelated story!
knit one perl one knit one perl two perl two
Derek, great comments. Regarding your question:
"Arn't the TCL core team an established developer base, or do you mean user base?"
We meant developer base, not user base, and yes we totally agree with you that the TCL core team is very established. However, we don't see as much wide spread use for Tcl as we do for the other dynamic languages.
As for mailing lists if you visit the markmail website you can see which lists they follow, but regardless we totally agree with your point that if you look at mailing lists in isolation you could get very misleading results. That is why we considered so many different sources in our analysis.