At Six Feet Up, our language of choice has been Python for 13+ years, so we're happy to see that Python is now one of the fastest-growing programing languages, even rivaling PHP to become the most popular interpreted language. (source).
Today I explore the reasons why we believe Python is the language of choice for serious developers.
In 1999, a friend of mine introduced me to Zope, which was built in Python, an open source dynamic language. It looked intriguing but I had no reason for it as the company I was with was using Java at the time. So, when I was faced with the exciting prospect of developing Six Feet Up's first client website, I naturally turned to Zope and Python as it looked like a much lighter and more flexible tool than the Java application server I was used to.
I quickly got hooked on Python and we have since then deployed hundreds of web projects using this language.
Here are the reasons why we have been choosing Python for the past decade:
1) Python is robust
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.
2) Python is flexible
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.
3) Python is easy to learn and use
"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.
4) Python reduces time to market
Gartner estimates that 90% of enterprises are using open source software—including Perl, Python and Tcl—to build business-critical applications. That's because dynamic languages are an excellent solution for fast time-to-market for enterprise applications. Python makes it possible to get applications to market faster in part due to the fact that it has a huge standard library and is often referred to as coming with "batteries included". In addition, Python stays out of my way. Therefore I can be more productive than if I was using Java/XML: the same task will require less code using Python.
5) Python is free.
Since Python is an open source programming language, we immediately reduce up-front project costs by leveraging Python in our development projects.
Now, I'll agree that, more than a choice of language, what matters is the experience of the development team, their process, and how well they follows standards and best practices. We only work with experts in their fields so we can be proud of the code we deliver. Should you need assistance with your Python project, we'll be happy to help through a variety of professional services.