In this article I will write about what can be behind that many big companies (like Google, Dropbox, NASA just to mention a few) use Python as a programming language of their choice.
If I would have to answer the question in one sentence I would say: Python is powerful. But let’s look at the reasons.
Python is easy
Python is an easy to learn programming language. It has a very steep learning curve which means you have to invest less time to get things going than with some other programming languages (like C/C++ or Java for example).
Python is not a programming language
Python is not strictly a programming language it is a description of a programming language. This makes different implementations available which are implemented with different programming languages.
The most common implementations is implemented in C and is called CPython. This is the one you can download from python.org. This C implementation makes it easy to write wrappers around already existing C code and use them in your Python applications.
Python is fast
Some might ask: “How can it be? Interpreted languages are always slow, aren’t they?” Well, they might but Python is fast. That’s because there was a lot of work done to improve the performance of Python. For example if you compare some parallel running code on Python 2 and Python 3 you can see that where the execution time in Python 2 grew exponentially Python 3 stayed almost the same.
Some say that CPython is slow when it comes to parallel execution because of the Global Interpreter Lock. That’s true for CPU-bound tasks but Google and Dropbox (where you deal with a lot of file I/O) know that multi-threaded I/O operations perform very good even with CPython.
Python is efficient
Efficiency is today’s big thing to achieve. You are working with a lot of information (called Big Data) as a big company. Now handling this amount of data requires efficient handling. Iterative processing of data requires lists. And when lists grow their memory consumption grows too…
That is the same for Python however with Python you have generators (expressions and functions) which load data lazily. This means they are only loaded when they are needed and this can reduce memory and time.
You can do everything with Python
Python is used broadly among developers: for ETL, gaming, web development, system automation and testing.
So you can do everything with Python and it is easy too just as this XKCD comic tells you.
The Dropbox example
Dropbox started with Python and stayed with it and when they realized it they served 40 million users with their codebase. The reason for using Python was that they could write functionality in 100 lines of code which would have required 1000 lines with another language (C/C++ or Java).
Looking to get hired by companies looking for people with P skills? You know PHP, Python, PostgreSQL.. we know a couple of employers who are dying to meet you. Sign up using the button below and we will personally get them to compete with each other to hire you: