There is a good reason why Bank of America has chosen Python to power many of their critical systems. (source) It’s solid and powerful. Python has a relative small quantity of lines of code, which makes it less prone to issues, easier to debug, and more maintainable. The Securities Exchange Commission has sought to mandate Python as the language for a new “waterfall” program that would make Wall Street more transparent. Python can scale to solve complex problems, as illustrated by the fact that it powers most of YouTube and DropBox, not to mention Reddit, Quora, Disqus and FriendFeed. Even the mighty Google has made Python one of its official programming languages. It’s also very fast.
In 2007 YouTube migrated from PHP to Python for scalability purposes, citing that “Python enables flexibility”. Python is used in a wide array of industries and for a long list of different usages, from websites and web applications to systems administration, voice over IP, and desktop apps. Python is also a staple of the Scientific community. Because it wasn’t originally created to answer a specific need, Python isn’t driven by templates or specific APIs, and is therefore well-suited to rapid development of all kinds of applications. As a company focused on advanced web development, we really like this flexibility.
“Python in particular emerges as a near ideal candidate for a first programming language”, says John M. Zelle, in the Department of Mathematics, Computer Science, and Physics at Wartburg College in Iowa (source). We certainly agree with this as we find Python intuitive and fun. We don’t have to look up references frequently, nor are we overwhelmed by the formalities of the language, like we would in Java or C++.
Python’s simple and straight-forward syntax also encourages good programming habits, especially through its focus on white space indentation, which contributes to the development of neat looking code. Finally, while PHP is notorious for the inconsistency in its naming methods, Python’s naming convention is prevalent from module to module, so developers are less likely to make syntax errors. This means fewer bugs and faster development.