Companies including Google, Dropbox, NASA have made Python a programming language of their choice. Why? In simple words – Python is powerful.
In this post we’ll explore the top 5 reasons why big companies use Python for development:
In comparison to other programming languages (like C/C++ or Java for example) Python is easy to learn, which means you have to invest less time to get into core development quickly.
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.
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.
As a big company, you are working with a lot of information (called Big Data). Handling this amount of data requires efficiency. 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.
Python is used broadly among developers: for ETL, gaming, web development, system automation and testing.
So you can literally do everything with Python.
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).