Can Python Really be Replaced Today?

2 minute read

Can Python Really be Replaced Today?

I often see debates between Python and other programming languages on LinkedIn. Often, the arguments put forward are purely technical arguments from developers (not meant pejoratively).

I would like to very humbly bring here a slightly different perspective to the discussion.

Among the criticisms made against Python, we find the fact that:

  • It is an interpreted and not a compiled language and therefore it is much slower than C or Scala...
  • There is a lack of static data typing, which can lead to confusion and a lack of structure.
  • It has a minimalist design that would offer too much flexibility at the expense of a more rigorous structure.
  • And finally that libraries can become a nightmare to manage.

Yes, all of this is true!

But if we consider what Python has become, no longer from the developer's point of view but at the scale of a company?

From what I observe, the choice of the tech stack and technologies will necessarily influence the way data teams organize themselves and communicate with each other (if they communicate at all :)).

At the same time, I notice that Python is starting to become in companies, more than just a programming language, it is becoming the language of interaction between data teams. Because it is easy to access and versatile and because it has a large community.

If each team has its own language, then I think we create, de facto, silos within the company.

Indeed, if data engineers use Scala and data scientists Python, how could the former do code reviews for the latter? How could a decentralized team structure (Data Mesh) be considered serenely? How to allow anyone to change teams as they wish? How to ensure recruiting developers capable of evolving within the company's technology stack without too much difficulty?

If each team optimizes its tech stack according to its own needs, the result is not necessarily optimal at the global level of the company. It reminds me of "greedy algorithms" (it's my data scientist side) that seek the best choice at each step, but do not always lead to the globally optimal solution.

Despite the promise, every year, of a new language to dethrone Python, I think it is here to stay for a long time.

I know many devs will not agree with me but I think we can certainly have exciting discussions on the subject in the comments!