DEV Community

Cover image for Python bad
Akash Pattnaik
Akash Pattnaik

Posted on

Python bad

⚠️ This article of highly recommended for beginners in Computer Science.

Are you new to python? Are you thinking about learning python?
Better read this article before you get into python.

Yes, Python is in fact an amazing language. But, its not the all king language. I mean there are of course many disadvantages to it.

From my experience, when I first started learning Python, I used to think I can solve any code-based problem in the world by just using Python. Well, I was wrong.

Few years ago, when I started using Python, it looked really easy and I developed a kind of affection towards Python. Whenever someone used to say that Python isn't everything, I used to get offended and defend Python at all costs. Now after years of experience, I realise that they were right!

Cri image

Not all code-based problems can be solved by Python. Furthermore, Python is truly slow. I mean yeah, it's effective, easy and cool but it's slow AF man.

Let's discuss about the various advantages and disadvantages of Python.


Advantages 👍

  1. Easy to read and learn
  2. Reduces Maintenance Cost
  3. Asynchronous Coding
  4. Memory Management
  5. Wide Applicability
  6. Avoid the Harms from Software Bugs
  7. Enterprise Application Integration

Disadvantages 👎

  1. Slow Execution Speed
  2. Large Memory Consumption
  3. Not suitable for Mobile and Game Development
  4. Developer's Restrictions
  5. Error Detection in Codes
  6. Database Access
  7. Difficult to test

Connect with me 🙍

  • Mail - akashpattnaik.github@gamil.com
  • Github - BLUE-DEVIL1134
  • Twitter - akash_am1

Top comments (2)

Collapse
 
julius profile image
Julius

Hi Akash, I disagree with some points and argue that Python is not that bad. Let me point out why, especially with regard to the disadvantages you mentioned:

  1. Slow Execution Speed -- Fair point. However, not a disadvantage for a lot of real life use cases. If you use a package written in C, you can compensate for this disadvantage.
  2. Large Memory Consumption -- When I run a Python tool that imports pandas, numpy or a number of massive packages, the average memory usage on a Windows machine is between 50 and 100 MB. It could be more if you are working with large data frames, but people don't really care about memory usage as long as it is not exceeded, and you can easily optimise it. For simple scripts: not an issue at all.
  3. Not suitable for Mobile and Game Development -- True.
  4. Developer's Restrictions -- It comes with some limitations, yes. Personally, I have never felt limited and even use Python for low-level stuff.
  5. Error Detection in Codes -- this is very advanced in Python and way better than in other programming languages.
  6. Database Access -- What is it supposed to mean? There are plenty of connectors available, it's quite easy to access them, and they are frequently used in production.
  7. Difficult to test -- Simply not true.

Just my point of view :)
Cheers

Collapse
 
akashpattnaik profile image
Akash Pattnaik

I really appreciate you take out time and making this comment.
I mean, yeah, I agree with some of the points you wrote.

  1. Yes, what you wrote is true but Python is not suitable to be run under limited memory restrictions.
  2. It's my bad. I should have written "Insecure Database connection." - There are some limitations to using Python to access databases. As compared to other popular technologies such as JDBC and ODBC, the Python database access layer is a little underdeveloped and primitive. People prefer other languages over python for database connections.
  3. Difficult to test -- As python is a interpreter based language, beginners getting into python start with IDLE and not pycharm or vscode. Thus, the errors in the code get displayed only at runtime and one at a time unlike other languages where all the errors are displayed at once.

Well, I do respect your views :)
Thanks for commenting.