ActiveBlog

The Growth of Dynamic Languages - Pythonists, Pythonistas, and Pythoneers
by Bart Copeland

Bart Copeland, July 28, 2010

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?

Dynamic Language Usage Score

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?

Dynamic Language Usage Score

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

Perl Messages per Month

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

Python

Python Messages per Month

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.

perl, python, tcl, php, ruby, javascript job trends

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

Job trends 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.

ohloh - Monthly Commits

ohloh - Percent of Total 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:

Blogpulse: Perl, Ruby, PHP

Source: Perl, Ruby, PHP
 

Blogpulse: JavaScript, Tcl, Python

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.

Subscribe to ActiveState Blogs by Email

Share this post:

Category: dynamic languages
About the Author: RSS

Bart Copeland is our CEO and president. He's passionate about ensuring that everyone at ActiveState has a lot of fun while solving complex problems with applications that provide real benefit to our customers. He holds an MBA in Technology Management from the University of Phoenix and a Mechanical Engineering degree from the University of British Columbia.

Comments

4 comments for The Growth of Dynamic Languages - Pythonists, Pythonistas, and Pythoneers
Permalink

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.

Permalink

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

Permalink

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.

Permalink

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.