Why Python?

Maciej Mazurek, 20 January 2020

1. Increasing popularity

In TIOBE Programming Community Index ranking (from October 2019) Python ranks 3rd (right after Java and C). It is one place higher than in 2018. This tendency should not be surprising. Simple human friendly syntax and huge ecosystem reveal Python to be an increasingly popular language.

2. Ecosystem

Python has an incredibly rich ecosystem. The most popular set of packages, PyPI (Python Package Index) contains over two hundred thousands packages. Using these existing solutions significantly reduces development time. Moreover, the popularity of Python packages is almost a guarantee of their reliability. Popular packages have already been tested by many programmers working on many different platforms and, if there are any bugs, they are reported and fixed.

3. Community

It is very likely that, at some point, a programmer will encounter a problem that can’t be solved independently. That’s when a large community of Python programmers comes to the rescue.

Plenty of Stack Overflow posts, rich collections of tutorials and courses available online (often for free) not only helps programmers solve everyday problems, but also makes Python much easier to learn.

4. High-level programming language

Python is a high-level programming language. Many operations, for example on strings, that require much more effort in languages like C, C++ or even Java can be executed in Python with a single line. This improves the quality of the code, making it shorter and more readable.

There is no such thing as a free lunch. Python is much slower than C, C++ or even Java. But in most cases it does not matter. For a common user there is no difference if some operation, for example on eBay, takes 0.1 or 0.001 second (yes, nowadays this means 100 times slower). If you want to use faster language, like C, you have to take into account the fact that it probably will cost you more time and effort.

Easy to integrate

Python program (or script) requires an interpreter, which parses the code and then executes it. The advantage of a script is that it is very portable. Any computer that has the appropriate interpreter installed may run the program (more or less) unchanged.

Every programming language (including Python) can be interpreted or compiled. It is possible to create an interpreter for any language. The distinction between compiled and interpreted languages is due to the most popular solutions adopted, not the language properties themselves.

There are many tools that transform Python scripts into executable files, the most popular of which is py2exe.


Despite Python’s many advantages, it is not a perfect language. A large community of Python programmers, human friendly syntax, rich collection of packages and libraries and its portability make it worth using wherever it is justified.