Although Python sometimes has faced criticism about its performance, Darrell Bishop, founder of software-defined storage company SwiftStack, is satisfied: "I wouldn't say if you need to do something that needs to be terribly high-performance, Python's your first choice," but the language is fast when it comes to writing code, compared to C and C++.
The tough transition from Python 2.x to 3.x
The 3.x variant of Python introduced in December 2008 offers significant improvements in areas such as Unicode. But the switch from Python 2.x to 3.x is difficult, so many developers have put off the effort. The two versions are "significantly different," Bishop notes -- so much so that Python 2.x code is incompatible with Python 3.x. Plus, Python 2.x has more library support, says Texas Tribune's Seger. However, the current version 2.7 is the end of the Python 2.x line, with no capabilities to be added and no 2.8 version coming, says Python inventer Guido van Rossum -- so developers will need to shift to 3.x at some point.
"The thing that's killing me right now is the adoption of version 3," says Bently Holdings' Hart. His company still bases its software on Python 2.7. "It's such a boatload of work to move up to [version] 3 that I don't know if we ever will." Moving to the latest Python line is hard to justify from a business stance, he says.
Both versions of Python can present problems when doing functional programming and developing live functions, says Wiser Together's LaBianca. And there's not a strong selection of Python runtimes, he says. The only real Python implementation now is CPython, which has limitations such as not running on the Java Virtual Machine, he notes.
This story, "The dark side of the beloved Python," was originally published at InfoWorld.com. Follow the latest developments in programming at InfoWorld.com. For the latest developments in business technology news, follow InfoWorld.com on Twitter.