Programming Language Adoption

55 people have asked me to write about:

Indian companies just don’t take Python seriously, not as much as Perl. Why is that?

28 people have asked me to write about:

Most companies opting for Ruby as their programming language of choice instead of Python

51 people have asked me to write about:

The future of the Perl programming language?

Phew, that is quite a lot of people asking about programming language adoption!

The TLDR version of my thoughts on this topic is: Companies are choosing the right tool and the right community for the right job. Which programming language is used in your company depends on the kind of work they are doing.

Ruby and Rails ecosystems are built by and built for web programmers. That is why you will see web programmers switching from PHP and Python to Rails. For web programming, I do believe that Rails has an edge, not just because of the framework itself, but because of the community rallying around it. The amount of amazingly useful stuff that they churn out outpaces any other community w.r.t. web-dev, and they even have quick effective screencasts to make it digestable, hence their edge!

Data analysis is the hot thing these days and as per O’Reilly, Python is the choice of language for data analysis even though Ruby gets more buzz in the tech news. It is the same reason why scientists are switching away from Ruby to Python.

Similarly, I believe that Perl is still used a lot as a “glue language” and “text munging language” which has always been its forte and continues to be its forte, although Python and Ruby have been slowly entering that territory. Even though there are marketing reasons why Perl is no longer as popular, if you do use Modern Perl, you can be as effective as with the other two languages [1]. For example, if you notice the recent announcement of Amazon “Simple Email Service”, you will notice that their scripts SDK is written in Perl! Also, if you read the latest Perl news it is not lagging behind the other languages, it just doesn’t get the “buzz” factor these days. Programming languages are like fashion, they keep coming back in cycles. Remember the days when JavaScript was considered a pain and today, it’s the new hotness? (same goes for Haskell) We owe a lot to Perl and perhaps Perl 6 will teach us the future of things yet again, who knows!

So I have a question back for the 134 people who asked the above 3 questions – Is the programming language chosen by your company match the kind of community we have described here?

What would you say to these 134 people?

[1] Perl was the original magical language which I still have a soft corner for, since I have written a lot of Perl code at Yahoo! and thoroughly enjoyed it.