This point is contentious, and Python developer Graham Dumpleton, a senior software engineer at Web application vendor New Relic, disagrees. "It's certainly true that Java and .Net have a large library of modules, and there won't be a one-to-one copy of each module in Python, but very often there will be something available that is up to the job."
"Alternatively," Dumpleton says, "you can wrap an existing library from another language in Python and make use of it like that." Finally, Python can integrate with existing environments with tools such as Jython (for Java) and IronPython (for .Net).
Performance: Enterprises increasingly trust Python
While dynamic languages have gained popularity, Governor rejects the notion that dynamic languages are in any way replacing more established enterprise languages. In fact, quite the reverse is true, he says; plenty of large consumer-facing Web businesses are moving from dynamic languages to Java.
"I'd say that Java is going through a bit of a resurgence at the moment. As Web shops grow up, they become Java shops," Governor says. Twitter was originally developed in Ruby on Rails, for example, but it has now been rewritten from scratch on Java platforms, largely for reasons of scalability.
One argument against dynamic languages is based on their performance limitations. Since they don't run as close to the processor as Java or C++, the argument goes, they simply can't offer an adequate level of speed. While that was certainly true in the past, today's multi-core processors are far more powerful, and as a result dynamic language performance is proving more than adequate for enterprises as varied as Google (with YouTube), Merrill Lynch, Cisco, VMware and Philips.
(In applications such as high-performance trading platforms, where speed is of the essence, it's certainly true that Python may not be as appropriate a choice as C or Java. However, these applications tend to be the exception rather than the rule.)
Open Source: Support, tools free, but you get what you pay for
At a time when IT departments face thin budgets and the pressure to produce more for less, the availability of open source development possibilities is bound to be attractive to many organizations.
"Cost savings are definitely relevant in companies where there is little budget available," Governor says. In any case, younger coders expect the open source tools that they are familiar be made available to them, he adds.
With open source programming languages, those things are free. The flip side, of course, is that support and a comprehensive array of tools may be more readily available for proprietary languages that are backed by a company as opposed to a community.
Security: Python, Other Dynamic Languages Typically Safer
Is there a good reason to choose (or avoid) dynamic languages on security grounds? Governor doesn't think so. "I'd be very surprised if anyone is claiming that .Net or Java are more secure than any other languages."