Do Frameworks Spur Adoption Of Programming Languages?
Obviously, Ruby and Rails are tied together, but seeing the growth trends starting to separate is a good sign for Ruby as a standalone language.
What I did not realize was that many people considered Groovy and Grails to be similarly tied. In my experience, Groovy has been used as a scripting language, but I have worked in heavy Java shops where Spring or Struts ruled the MVC world. After hearing some of the comments that outside of my world, Groovy is heavily tied to Grails, I did some digging. More than anything, it is obvious that I was missing a data point.
To illustrate, look at the job trends for Ruby, Rails, Groovy and Grails from Indeed.com:
As you can see, there are similarities between the Ruby/Rails pairing and the Groovy/Grails pairing. So, my apologies to all those people that complained, I was obviously wrong. Even though Groovy is tied to Grails, it is interesting that Groovy job trends are starting to distance itself from its Grails heritage. So, if the job trends are starting to separate, what does the relative growth look like:
This graph is interesting for two reasons. First, the Ruby growth and Rails growth trends are almost identical. I am not saying this proves my point, but the growth definitely looks correlated. The second reason this graph is interesting, is the disparity of growth between Groovy and Grails. Very surprising to me is that the Grails growth is ridiculous, while the Groovy growth is still showing a very rapid rise. This shows me that Groovy and Grails are being considered separately as opposed to the Ruby/Rails combination. This trend is something that should be watched over the next several months.
Of course, this comparison made me wonder about some of the other languages reviewed, specifically PHP and Python. Before I start looking at those trends, there is an excellent Wikipedia page that lists a bunch of web frameworks for various languages. So, I first looked at some of the popular PHP web frameworks, Zend, CakePHP and CodeIgniter. I noticed that there was no correlation between those frameworks and the growth of PHP. I found this a little odd until I reviewed the list of web frameworks on Wikipedia again. They listed Drupal and Joomla as frameworks, but they are really web content management systems (CMS). So, I decided to graph the job trends of the frameworks and the PHP-based web CMS applications, WordPress, Drupal and Joomla:
Now that shows a little more correlation. As you can see, the web frameworks have limited demand when compared to WordPress, Drupal and Joomla. You can also see that there are similar growth trends between PHP and the web CMS applications. Granted, this is not a strong correlation, but there are some similarities. So, what about Python?
Here is what Indeed has for Python, Django, Zope and Pylons:
As you can see there is no relationship between the web frameworks and Python growth. Django seems to be the only framework gaining significant adoption as well, but it still does not show the same type of growth pattern as Python.
Overall, watching the growth of these languages is interesting. Seeing the growth of Ruby and Groovy slowly trend away from their web frameworks is a good sign for adoption of those languages. This means that people are starting to see them as being more of a general purpose language than the language used for a specific framework. The contrasting trends of these languages and those of PHP and Python show how the market can move in different situations as well. The growth of CMS applications like WordPress, Drupal and Joomla is due to the rapid growth of PHP itself, as well as the maturity of those platforms. So, sometimes a framework drives language adoption and sometimes the language can drive platform adoption.