Over the past year, many developers have been wondering if Python would soon be replaced by a newer programming language like Julia, Rust, or Go. However, I want to dive into what the data actually shows us and I’ll let you make your own conclusions. Spoiler alert: I don’t think it’s going anywhere anytime soon. First, let’s start with some of the arguments against Python and why it may be time to replace this language. So, 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.
Python is slow, it’s well known that this language can’t perform side by side to other programming languages like C++, Go, or Rust (among others), but sometimes speed is not everything. Python may not be the fastest programming language, but with the right setups, libraries, and coding it can support wild volumes and process huge amounts of data. Don’t get too caught up with raw speed alone, most of the time you won’t need it. 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’s 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’re required to do it yourself, or even better, use a Python library like Pydantic .
There are good frameworks using Python types, like FastAPI.
I can’t believe this is an actual argument but seems like it is. Yes, Python is from the 90s, and it has a few more years on some of its contenders but it’s still pretty solid. Over time not only has Python turned out to be a great programming language, but it’s also built a great community, a huge library repository, and much more. There are problems that date back to what was considered a best practice back then, that now is not so much, but being old in itself is not a valid 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. You can read ‘The State of Developer Ecosystem 2020’ here.
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.
JetBrains Survey 2020 – Primary Programming LanguagesThe survey has other very interesting sections that go a bit off-topic, but I’d recommend you read it in full, or you can just read the Python section where they talk about IDEs, and what Python is being used for.
Probably the biggest and most important development survey out there is ‘The StackOverflow 2020 Developer Survey.’ 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:
StackOverflow Developer Survey 2020 – Most Loved Programming LanguagesStackOverflow Developer Survey 2020 – Most Wanted Programming LanguagesAgain in both sections, Python is at the top, being the third most loved programming language after Rust and TypeScript, and being the most loved programming language.
Python has its flaws, speed, kinda old, with old concepts, but it’s 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 some time before we see this change, but Python is a language still worth learning, exploring, and mastering.
This article was originally published on Live Code Stream by Juan Cruz Martinez (twitter: @bajcmartinez), founder and publisher of Live Code Stream, entrepreneur, developer, author, speaker, and doer of things.
Live Code Stream is also available as a free weekly newsletter. Sign up for updates on everything related to programming, AI, and computer science in general.