Python is getting dethroned

Bye-bye Python! Hello Go, Rust and Julia!

Aug. 1, 2020 |  Categories:  Programming  

By Noah Jefferson, Developer

Nope, Python isn't going to be the programming language of the future. Why though? It has surpassed C, C++, C#, and Java in popularity, it has a number of disadvantages that may be fatal to its chances of becoming the programming language of the future.

Diagram of popularity of Python, C#, C++, Java, JavaScript, and R, from 2009 to 2020. Python is highest from 2018 onwards.


Speed


Python is slow. Really slow. If you run Python, It takes anywhere between 2 to 10 times more time than ANY other programming language. There are many reasons for that.

One of them is that it is dynamically typed. Meaning, you don't need to write the data type of a variable before defining it, unlike many other programming languages. This means a lot of memory is gonna be used because the program needs to reserve enough space for each variable that it works within any case.

Another reason is that Python can execute only one task at a time, or, that it cannot overlap tasks to allow execution of multiple programs at once. This is a consequence of flexible datatypes -- Python needs to make sure that each variable has only one datatype, and parallel processes could mess that up.


Whitespaces(indentations)


In Python, you use whitespaces and indentations to indicate different levels of code. This makes it optically appealing and intuitive to understand.

Other languages, for example, C++, rely more on braces and semicolons. While this might not be visually appealing and beginner-friendly, it makes the code a lot more maintainable. For bigger projects, this is a lot more useful.

Newer languages like Haskell solve this problem: They rely on whitespaces, but offer an alternative syntax for those who wish to go without.


Mobile Development  


As we’re witnessing the shift from desktop to smartphone, it’s clear that we need robust languages to build mobile software.

But not many mobile apps are being developed with Python. That doesn’t mean that it can’t be done — there is a Python package called Kivy for this purpose.

But Python wasn’t made with mobile in mind. So even though it might produce passable results for basic tasks, your best bet is to use a language that was created for mobile app development. Some widely used programming frameworks for mobile include React Native, Flutter, Ionic, and Cordova.

To be clear, laptops and desktop computers should be around for many years to come. But since mobile has long surpassed desktop traffic, it’s safe to say that learning Python is not enough to become a seasoned all-round developer.


Runtime Errors


A Python script isn’t compiled first and then executed. Instead, it compiles every time you execute it, so any coding error manifests itself at runtime. This leads to poor performance, time consumption, and the need for a lot of tests. Like, a lot of tests.

This is great for beginners since testing teaches them a lot. But for seasoned developers, having to debug a complex program in Python makes them go awry. This lack of performance is the biggest factor that sets timestamp on Python.

Leave a comment:


Comments: