Newsletter sign-up
View all newsletters

Enterprise Java Newsletter
Stay up to date on the latest tutorials and Java community news posted on JavaWorld

Sponsored Links

Optimize with a SATA RAID Storage Solution
Range of capacities as low as $1250 per TB. Ideal if you currently rely on servers/disks/JBODs

Python coming to the enterprise, like it or not

Python compared to Java on scalability, performance, and developer productivity

  • Print
  • Feedback

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.

[ Check out the Pillars of Python: Six Python Web frameworks compared. | Also on InfoWorld: Why new programming languages succeed -- or fail. | Learn how to work smarter, not harder with InfoWorld's roundup of all the tips and trends programmers need to know in the Developers' Survival Guide. Download the PDF today! | Keep up with the latest developer news with InfoWorld's Developer World newsletter. ]

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."

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."


  • Print
  • Feedback