In the last few months, perhaps a year or more, a lot of people started talking about how Python would be going away in favor of other newer programming languages like Julia, Rust, Go, etc. However today I want to discuss what the data actually show us and I’ll let you make your own conclusions (though, based on the title, you know mine).
Let’s get started with some of the arguments against Python.
What’s wrong with Python
There are a number of arguments against Python, and how other languages are filling that gap, or resolving some of the issues. Let’s see some of the arguments against Python.
Python is SLOW, it is well known that Python can’t perform side by side to programming languages like C++, Go, or Rust (among others), but sometimes speed is not all. Python may not be the fastest programming language, but with the right setups, libraries, and coding it can support wild volumes, process huge amounts of data. Don’t be obsessed with raw speed only, most of the time you won’t need it, and the simplicity of Python and availability of developers may well compensate for the lack of speed.
Even though since Python supports types with Python 3.6 - Typings , it is also true that while you can annotate a variable with a type to have better code completion on your IDE, Python would still handle that variable with dynamic typing without performing any validation. If you want to have type validation you are required to do it yourself, or even better, use a Python library like Pydantic .
There are good frameworks using Python types, like FastAPI, which we covered in a previous article. Quickly Develop Highly Performant APIs with FastAPI & Python .
I can’t believe this is an actual argument but seems like it does. Yes, Python is from the 90s, and it has a few more years than some of its contenders but it is still pretty solid. Over time not only turned out to be a great programming language but also has built a great community, a huge library repository, and much more. There are problems that date back to what was consider a best practice back then, that now is not so much, but being old by itself is not an argument.
The data to the rescue
In order to understand why I believe Python is not going away anytime soon, we will focus on DATA, impartial (maybe), simple, old fashioned data.
We will start reviewing a recent report from JetBrains, where, in their own words, they combined results of the fourth annual Developer Ecosystem Survey with the feedback from 19,696 developers whom they surveyed in the beginning of 2020 to identify the latest trends around tools, technologies, programming languages, and many other exciting facets of the development world.
The survey has other very interesting sections that go a bit off-topic of this post, so I recommend you read it in full, or you can just read the Python section where they talk about IDEs, what is Python being used for and other interesting stuff.
Probably the biggest and most important development survey out there, very interesting, I’m always participating in the character of the respondent. It has a ton of insightful questions, but let’s see what developers are saying about programming languages and Python in particular.
In the report one of the metrics is the popularity of technology, with the results being:
Now things get good, one popular section in the survey is: “Most Loved, Dreaded, and Wanted Languages”, let’s see how Python stands up in each of them:
Again in both sections, Python is at the top, being the 3rd most loved programming language after Rust and TypeScript, and being the most loved programming language.
This survey is fantastic and deserves a full read if you haven’t done that already.
Python has its flaws, speed, kinda old, with old concepts, but it is still a major player, clearly a top contender and widely used in a variety of projects from web development to IoT and data science.
After seeing the numbers I understand that Python is not going away anytime soon. It will probably be a time when this may be different, but Python is a language still worth learning, exploring, and mastering.
Thanks for reading!