Recommended: Sing it, brah! 5 fabulous songs for developers
JW's Top 5
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
Page 2 of 3
"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."
It's also true that hundreds of Java vulnerabilities been discovered over the last few years-including a critical vulnerability announced in September that affected more than 1 billion Java SE 5, 6 and 7 users-while only a handful have been identified in Python.
There's also the argument made by security experts such as Bruce Schneier that a software monoculture -- a scenario in which all software is created using the same single development language-make things easier for malicious hackers. Once a vulnerability in the development language is discovered, it can be exploited throughout the organization.