Python (and Other Dynamic Languages) Coming to the Enterprise, Like It or Not
Dynamic languages, most notably Python, are establishing themselves in the enterprise like never before. CIOs should weigh the benefits and drawbacks of Python carefully--and consider that their developers are probably using it already.
Wed, October 17, 2012
CIO — Java and .NET may be the staples of enterprise application development, but there's no doubt that the use of dynamic languages such as Python and PHP in the enterprise is exploding, albeit from a low base. There's a strong body of anecdotal evidence to back up this assertion, and job posting rates for these languages monitored by Indeed show that, while Java and .NET job vacancies have been largely static, Python and PHP job posting numbers are going through the roof.
What's driving enterprises to increasingly code in dynamic languages, and is it something you should be encouraging? Let's look at several key aspects of programming languages—scalability, performance, developer productivity and security—to see how Python stacks up to Java and .NET.
Productivity: Python Code Is Cleaner, But Does That Matter?
One argument is that dynamic languages let your developers be more productive, since they can get the same coding tasks done more quickly.
"Some people say that you can develop 10 times faster in dynamic languages like Python, and I think there is certainly some truth in that," says Jeff Hobbs, CTO at software vendor ActiveState. "Many companies are using dynamic languages for prototyping, because if you can prototype and test 10 times faster, that means you can make and throw away 10 prototypes in the time that it would take to build one prototype in Java or .NET."
James Governor, an analyst at RedMonk, says many of the company's enterprise customers use Python, largely because it's easy to use. "Dynamic languages have certainly stepped up to the plate in terms of productivity. They offer the ability to produce quick iterations [of an application] and a nice UI."
That said, Forrester analyst Mike Gaultieri wonders why Python, which is supposedly easier to use, hasn't been more widely adopted in the enterprise. In fact, Gaultieri says he believes many of the supposed benefits of dynamic languages are a myth.
"People say that you can do things in five lines of Python code that would take 35 lines in another language, but I think that that argument is completely bogus. It's not about how many lines of code you have to write, it's about how you design the code to get it to work," he says. "I don't think Python or PHP are the way forward at all."
Gaultieri says he would "certainly question" an enterprise that wanted to adopt Python so its developers could be more productive, adding, "There are not a lot of [Python] libraries for enterprises."