Python is a eeally flexible, and easy to understand, and a and language which is easy to understand. It was first released in 1991, And as the years passed by, people started using it, and already the users, who have been using python, Been appreciating it a lot, and since then, It has taken over a Large percent of the developer community. Python is the most used language for the Fields of
- Data science
- Machine Learning
- Scientific researches
Still, New languages would keep coming out, and they pose some danger to python, or as called, "Cons of python" as they are better than python with some cases.
Now Let's start to explore the Cons of python, which poses a weak point from it's side...
One of the major reasons Python is degrading is it's speed of execution and running. Now a days people require faster execution, and better timings, so they can do everything properly, But According to research, Python is found to be 30% more slower than other languages like C++, Java. The reason behind it is being interpreted instead of compilation, Where it runs same thing instead of saving time by caching into compiled form. But it's partially slow! For example TensorFlow, a Machine Learning library available in Python. These libraries were actually written in C++ and made available in Python, sort of forming a Python wrapper around the C++ implementation. The same goes for Numpy and also scipy :)
Micro Device Computing
Python is a great option for heavy computations, and also server side interpretation, and usages, But when it comes to the frontend, or the client side, Where people or clients of our application go and interact, The python has a lot of weakness in presence in that part. It is rarely ever used to implement smartphone-based applications or something similar.
As you know, Python is dynamically typed. This means that you don't need to declare the type of variable while writing the code. It uses duck typing. But wait... what’s that? Well, it just means that if it looks like a duck, it must be a duck. While this is easy on the programmers during coding, it can raise a lot!! of runtime errors.
No, we’re not kidding. Python's simplicity can indeed be a problem. For an example. I used to work with java but now, I'm more of a Python person. For me, its syntax is so simple that the verbosity of Java code seems unnecessary.
Compared to more widely used technologies like JDBC (Java Database Connectivity) and ODBC (Open Database Connectivity), Python’s database access layers are a bit underdeveloped. For example the SQLite layers can cause a data leak, which when used in production can cause a lot of loss, and hence making easy for others to exploit the programs and inject dangerous scripts. Consequently, it is less often applied in huge enterprises.
Python has automatic garbage collections which is performed when objects are no more used, and no more in scope. It aims to remove a lot of the complexities involved in memory management that C++ involve. Seeing to the flexibility of specifying data types, the amount of memory Python consumes can quickly increase! Moreover some bugs that may go unnoticed by Python may pop up during runtimes, ultimately slowing down the development process by a considerable factor.
These are the Valid points from My side, showing the Weak points which the Python has, compared to it's Pros, and These need to be kept in mind when coding a software, Checking whether it carries any such weaknesses, So the effect can be minimized by a lot.
Hope you enjoyed the article! See you soon, Next time!
Peace out ✌️ !