DEV Community

Cover image for 8 Reasons you won’t use Python
Ibne Nahian
Ibne Nahian

Posted on

8 Reasons you won’t use Python

Python is one of the most popular programming language around. The most praised thing about Python is it’s shorter syntax compared to other language & termination of “;”. Python is also known for it’s couple of more advantages.
Let’s talk about Disadvantages of Python. I’ll try to figure out 8 disadvantages of Python.

1. Speed
Python is slower than C or C++. But of course, Python is a high-level language, unlike C or C++ it's really a turtle.

2. Mobile Development
Python is not a very good language for mobile development . It is seen as a weak language for mobile computing. This is the reason very few mobile applications are built in it like Carbonnelle.

3. Power Consumption
Python is a power hungry language.

4. Memory Consumption
Python is not a good choice for memory intensive tasks. Due to the flexibility of the data-types, Python's memory consumption is also high.

5. Database Access
Python has limitations with database access . As compared to the popular technologies like JDBC and ODBC, the Python's database access layer is found to be bit underdeveloped and primitive . However, it cannot be applied in the enterprises that need smooth interaction of complex legacy data.

6. Runtime Errors
Python programmers cited several issues with the design of the language. Because the language is dynamically typed , it requires more testing and has errors that only show up at runtime.

7. Not suitable for Low Level programming
Python is not suitable for low level programming. When you are dealing with low level programming e.g. System programming, OS Development, Kernel, Embedded systems ; you need something like NASM , C, C++. For Dealing with hardware , Python is not a good choice at all.

8. Low availability of UI / Visual component
If you want to make a 3D graphic game or a software with attractive UI , then most of the time you have to chose from Java , C++ , C#, Swift , Delphi etc ; not Python. Cause available GUI Library / Frameworks for Python are not yet that rich.

Top comments (12)

Collapse
 
ganey profile image
Ganey

I agree with the points above, but python isn't a language I'd chose to do those things.

For me python is a great language for proxying between systems/devices. For example it's easy enough to use python to expose modbus registers in a more consumable format or when doing a diy Iot solution (esp8266's are crazy cheap and easy to make smart plugs/lamps etc). The bonus with python is it will work on most OS's without compilation, or cross compilation of the resulting software or its requirements.

Collapse
 
muhimen123 profile image
Muhimen

Will you say C isn't good enough because it can't do ML like Python? Stop comparing Sharks with Lions. They both are great on their turf.

Collapse
 
srleyva profile image
Stephen Leyva (He/Him)

I don’t think they’re comparing in terms of holistic one is better than the other. They’re giving the trade offs and describing use cases that Python isn’t suited to. This is a great article and valuable showing where the language is weak.

Collapse
 
anomaly2009 profile image
Ibne Nahian

Of course C/C++ can do ML things. But Python is glue language, where C/C++ is not.

Collapse
 
rafaacioly profile image
Rafael Acioly

Just a few thoughts

  • every language is not "fast enough" if compared to c/c++
  • python wasn't built to work my mobile application so using this as a argument to invalidate python is not fair.
  • The runtime errors are a draw back for rapid development, "you can be quick but you cannot be always right"

About the database access: agree hahahahaha

Collapse
 
ferricoxide profile image
Thomas H Jones II

every language is not "fast enough" if compared to c/c++

...Or assembler.

Collapse
 
srleyva profile image
Stephen Leyva (He/Him) • Edited

I don’t think the aim was to invalidate python but rather explain use cases where it doesn’t fit. So you both agree, it wasn’t designed for mobile development.

Collapse
 
vharihar2 profile image
Skeynes Pronty • Edited

Indentation. I hate the "Indentation defines scope" paradigm of Python! I'd rather have the IDE beautify/indent the code rather than enforce it by having it imply scoping.

Collapse
 
anomaly2009 profile image
Ibne Nahian

What is the biggest drawback of Python ? Let me know what do you think.

Collapse
 
davidmm1707 profile image
David MM👨🏻‍💻

For me, that isn't strongly typed.

Collapse
 
shaunagordon profile image
Shauna Gordon

Uh...it is strongly typed. What it's isn't is statically typed.

Collapse
 
srleyva profile image
Stephen Leyva (He/Him) • Edited

GIL