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 digitization plan of this. 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 the change really worth it?” thus suggesting that, in his eyes, it was an unfounded measure.
The Python programming language is widely used by companies around the world to build web applications, analyze data, automate operations, and create reliable and scalable business applications. Many technology companies, including Google, Uber, Netflix and Facebook, have been using this programming language for years and building their technology infrastructure based on it. In the financial sector, large firms such as Goldman Sachs, JP Morgan or PayPal consider it one of the basic requirements in many of their recruitment 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 community. Its 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 applications are not limited to a specific area. 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 platforms. We can run it on different operating systems such as Windows or Linux simply by using the corresponding interpreter.
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 rather it 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 Python. In 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 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.
- If the implementation is difficult to explain, it is a bad idea.
- If the implementation is easy to explain, it might be a good idea.
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 adapt 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 a responsibility of those who are part of the fabric of the company.