Personal tools
Contact Us 24/7 > 1 866.SIX FEET
Sections

Skip to content. | Skip to navigation

Home > Blog > Why We Choose Python

Blog

Why We Choose Python

written by Calvin Hendryx-Parker on Monday February 18, 2013

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

TIOBE Index

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.

Python is 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.

ALSO READ: Intro to the Python Framework Pyramid (with video a sample app & step-by-step instructions on GitHub)
OR Contact Us
OR sign up for our newsletter

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.

 
Posted by Erik Ferguson on Feb 25, 2013 06:18 PM
Awesome! So glad to see this post! I've been working in various capacities with an instance of the KARL Intranet system (as hosted & supported by Six Feet Up), which is driven by Python, since 2009. From my experience as a system administrator, I'd just like to add that the end results are _beautiful_, and Python seems to facilitate the best possible end-user UI experience. And reliability is second to none. I'm so glad that SFU has taken this approach. Best Wishes -- and Keep it Up! -Erik Ferguson
Posted by Jim Bartek on Feb 28, 2013 11:36 AM
Hi Erik! It's great to see your point of view on how KARL and Python are great for system administrators and users alike. This feedback is a great example of how a Six Feet Up implementations performs. Keep in touch!
Posted by Guillaume Aubert on Mar 07, 2013 09:49 AM
Hi Erik, Excellent post quite like it. One comment though: I wouldn't use Google as "THE" reference company regarding the choice of Python as an official language because they seem to leave that track right now. They have created Go to replace I guess Python in their operation layers and Guido has now left Google I am pretty sure because of that. Better focusing on DropBox, Reddit and others. Keep up the good work !
Posted by Isaac Gouy on Mar 07, 2013 12:43 PM
>> It's also very fast. << Please check your source information. Udemy only makes a vague reference to "benchmark tests" but does provide a (misspelt) link to the benchmarks game web site -- shootout.alioth.debian.org The measurements for those PHP and Ruby 2 and CPython 3 programs show how similar they are, not that one's very fast. http://benchmarksgame.alioth.debian.org/u64q/php.php http://benchmarksgame.alioth.debian.org/u64q/ruby.php Compare to the Java programs -- http://benchmarksgame.alioth.debian.org/u64q/python.php
Posted by Calvin Hendryx-Parker on Mar 07, 2013 04:35 PM
I think I should have been more clear about what we mean about "fast". We do web applications so our "fast" would be in the context of the type of work we do. Here are more of the benchmarks that showcase Python being as fast, if not faster than other languages at similar tasks. http://blog.curiasolutions.com/the-great-web-framework-shootout/ The point should probably be more that Python isn't slow, just in case someone had that kind of FUD floating around their organization.
Posted by Pcarbonn on Mar 07, 2013 04:45 PM
Another reason is the high ranking of python in the PYPL Popularity of Programming Language Index.
Add comment

You can add a comment by filling out the form below. Plain text formatting.

puzzle

Next Steps


Select a type of support:

Contact our sales team

First Name:  
Last Name:  
Email Address:  
Phone Number:
Message:  
Fight spam:
What is + ?  
 
Call Us 1 866.SIX FEET
Sections