A few weeks ago Alberto, a data scientist at PredictLand, told me about the concerns of an old friend of his who is dedicated to monitoring and controlling certain KPIs in the banking sector. He was concerned about one of the new steps that were being carried out in his company as part of the meticulous and structured plan to digitize it. Some of the key phrases that still echo in my head are: "After years of effort to understand the program that we have always used to access databases, can you believe that now they want me to learn Python?" or "Is it really worth the change?", thus suggesting that, in their eyes, it was an unfounded measure.

Companies all over the world use the Python programming language to construct web applications, analyze data, automate operations, and develop dependable and scalable business applications. For years, several technology companies have relied on this programming language to develop their technology infrastructure, including Google, Uber, Netflix, and Facebook. Large financial companies like Goldman Sachs, JP Morgan, and PayPal consider it one of the most basic criteria of many of their hiring processes.

Origin of Python

Given the popularity it has acquired in the last decade, one would expect it to be a language born at the beginning of this century. Nothing could be further from the truth: its origin dates back to the late 80s and early 90s. Its implementation began in December 1989 when Guido van Rossum, a worker at the CWI (an official Dutch research center) decided to start the project as a hobby giving continuity to the ABC programming language developed by the team of which he had been part of the CWI.

Its name is due to Van Rossum's fondness for the Monty Python group and its conception was focused on making it easy to use and learn without penalizing its capabilities. The reason that it did not acquire sufficient importance at the time was the lack of resources in the hardware of the time.

The advancement in hardware technologies has been a necessary condition for the rebound in popularity. However, the generalization of big data in recent years, followed by the explosion of artificial intelligence, machine learning, deep learning, and the emergence of data science or data science as a new area of ​​work with its own specialists have revolutionized the landscape. And it is that many of the new tools that have emerged, and that are exploited by data engineers and data scientists, have been developed in Python or offer us Python as the preferred way to interact with them.

What is Python and what makes it so interesting

Python is an interpreted programming language whose main philosophy is that it is readable by anyone with basic programming knowledge. In addition, it has a series of characteristics that make it very particular and that, without a doubt, provide it with many advantages and are at the root of its widespread use:

  • It is totally free. It is an open-source or open-source language, so there is no license fee to use it.
  • It is backed by a huge communityIts free nature means that new libraries and applications are continually being developed. It's hard to think of something someone hasn't done. This is a multiplying factor for programmers since any questions will be resolved in the forums.
  • It is a multiparadigm language. This means that it combines properties of different programming paradigms, which allows it to be very flexible and easy to learn independently of the knowledge of the interested party.
  • Its implementations are not restricted to a single sector. The fact that it is multiparadigm allows it to be used in seemingly disparate fields such as web application design or artificial intelligence, among many others.
  • Python is suitable for all platformsWe may use the appropriate interpreter to run it on various operating systems such as Windows or Linux.
python

As we can see, the benefits are many, but what about the drawbacks? The main obstacle that we find to Python is that it is an interpreted language, that is, it is not compiled, but is interpreted at runtime. As a consequence, it is slower than Java or C / C ++.

However, this is not a big problem, since the differences in speed are small and today the bottleneck in software development projects is not in the CPU. Thanks to advances such as cloud computing, today we have a large computing capacity at a very affordable cost. The challenge is to shorten development times by improving the maintainability and quality of the code. Python focuses on this by making life easier for developers.

The design principles of the language are guided by a series of aphorisms collected in the Zen of PythonIn these principles, we can see that the readability of the code and favoring its simplicity are essential parts of the language design from the beginning.

Some of the points that we find in the Zen of Python are consistent with the prevailing mindset in today's most successful companies:

• Explicit is better than implicit.
• Simple is better than complex.
• Complex is better than complicated.
• It's a bad idea if the implementation is difficult to understand.
• It could be a good idea if the implementation is simple to understand.

Conclusions

Python's free and flexible nature and the security offered by the support of the thousands of users that make up its open-source community make this language a safe bet in the digitization process of companies.

Programming languages ​​are adapted to the needs of people and, therefore, to those of companies that want to stay in an unprecedented technological race. Having information about them and keeping up to date is the responsibility of those who are part of the fabric of the company. 

Thanks