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)
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.
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.
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.
Of course C/C++ can do ML things. But Python is glue language, where C/C++ is not.
Just a few thoughts
About the database access: agree hahahahaha
...Or assembler.
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.
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.
What is the biggest drawback of Python ? Let me know what do you think.
For me, that isn't strongly typed.
Uh...it is strongly typed. What it's isn't is statically typed.
GIL