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.
Posted by Roger Whitman on Jul 28, 2014 05:42 PM
I would say, all your reasonings can also apply to PHP which is more popular than Python. So why would one should ignore PHP and use Python? I just need a good reason to convince people like my boss.
Posted by jim on Jul 29, 2014 09:54 AM
Hi Roger, We would disagree that all this applies to PHP the same way and state how in the post. We are actually working on a new post on finding Python developers, and you might be interested in this chart: http://www.indeed.com/jobtrends?q=python%2C+php%2C+asp.net%2C+ruby+on+rails&l= Open jobs for Python developers is trending up while PHP is trending down. You might also find this page helpful in comparing features across PHP & Python: https://wiki.python.org/moin/PythonVsPhp
Posted by Chris Rogers on Aug 01, 2014 11:00 AM
Hi Roger, That's an interesting question, which could be answered in different ways depending on your intent and whether or not you already know PHP or Python. I believe PHP's continued popularity to be a bit misleading, especially confusing if you're a new developer researching languages. You'll see charts like this and think "hey, probably a good language to learn!" And it may be, if, for instance, you're a CS student who eventually wants to be a contract developer for Fortune 500 companies, or something like that... Why? Because many of those companies still have large legacy systems that were written in PHP. So, in short, it remains popular because it WAS popular. And it's probably not going away anytime soon. This isn't entirely my theory, by the way... It was one of my first languages, back in the 80's, when my friend Tim S. and I first started programming. I'm by no means a guru, but he is (over at Librarything); his entire livelihood has been based on the language for over 20 years. But during a discussion at our last high school reunion, we reached the same conclusion. (BTW, I only reference Tim because he's a guy who has every reason to evangelize PHP, but doesn't.) So why Python? And why, specifically, should it matter to your boss or other stakeholders? First, as referenced above... if you're new, it's vastly easier to learn. (There's a reason Python is the language of choice for most Intro CS classes; check out MIT's hugely popular class, available in its entirety for free over at OpenCourseWare). It's powerful. Yes, Google is now moving away, but Python was their language of choice since inception... That's a lot of very smart people choosing one specific language over many others. You can pretty much do whatever you want with it. Lastly, if you poll Python developers, most will probably cite it's high level of readability as a favorite feature. (And this is where you sell your boss.) This - in turn - leads to greatly reduce maintenance costs, easier development, easier scaling. All of which directly results in less expense for your company. It should be noted, finally, that while you CAN do anything with Python (or most languages really), that specific languages are better suited to specific tasks. JavaScript if you do more front-end work; Java if you're working with embedded systems. Best of luck, Chris
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