Why Python?

We’re a Python/Django shop.  In the early days of Tivix, there was discussion around which framework and language should be our primary focus. At the time, Ruby versus Python and Rails versus Django were very hot and highly debated topics. We also could have taken a different route and used PHP, Java, or something else entirely. So why did we choose to go with Python?

There are many reasons, including the fact that Python is very concise and well-suited to rapid, agile development. 

Python code is similar to how you might think through a problem; the syntax is close to everyday language and is very readable. For example:

fruits = [‘apples’, ‘banana’, ‘pears’]
for fruit in fruits:
    print fruit

Our CTO, Sumit Chachra, brought up another important point when InfoWorld recently interviewed him: Python is very popular in academic and scientific circles, creating a large, valuable, and well-educated talent pool .

The fact that Python is dynamically typed and less verbose than many languages also makes it easy for teams to understand and share code even when a project gets large. And dynamic typing promotes semantically meaningful code that gets right to the point (also good for teams).

Another benefit to using Python is that almost anything you need is built-in and additional libraries can handle anything else you throw at it. If you want to do something in Python, chances are someone else already has, and you don’t need to start from scratch. Checking PyPi, a public repository for Python packages, shows roughly forty thousand packages and more than 300 listed categories.

Python is a perfect fit for a large majority of the online platforms. YouTube is written in Python, as is much of Google, Instagram, and Pinterest. It’s scalable, efficient, and provides a code base that can be supported even if an engineering team grows from 2 to 2,000.

Is Python for everything? Of course not. For one thing, it’s an interpreted language so it’s never going to have the execution speed of a compiled language (as Tivix team member Dariusz Fryta pointed out in a post last week).

But for many software engineering projects, Python is the right choice. We’re glad we decided to go all-in on it at Tivix.

Python is fast enough for our site and allows us to produce maintainable features in record times, with a minimum of developers.

– Cuong Do, Software Architect, YouTube.com