Some limitations on Python:
- Python is slow. It can be improved in many ways (see other answers), but bare cPython bones are 100 times slower than C / C ++.
This problem is becoming increasingly mitigated. With Numpy, Pypy, and asyncio, most performance issues are not covered, and only very specific use cases are a bottleneck in Python.
- Python is open to anything. It is very difficult to protect / obfuscate / restrict Python code.
. Python is not an ad. Unlike Ruby, there is no “cool wave” around Python, and it’s even harder to find an experienced Python encoder than, say, Java or PHP pro.
- After using Python, many languages seem to be painful to use. . You think this is good, but trust me, not always. When you should go Javascript after the Python project, your eyes in tears for at least 3 days. It's actually hard to get started.
- It’s harder to find web hosting than for popular solutions such as PHP.
- As a dynamic language, you do not have very convenient refactoring tools that you could get with Java and Eclipse or C # and VS.
“For the same reason, you cannot rely on type checking as a protective mesh.” This is why pythonists tend to adhere to best practices and most often write single tests than others.
“It seems I just can't find an IDE with decent code completion .” PyDev, Gedit, Komodo, SPE, etc., Just don't do it as good as it could be.
With Python 3 hints and tools like PyCharm or Sublime Text + Anaconda, things have changed a lot.
- The best documents are still available in English only. Some people can't handle it.
- You must use the syntax. Not only do you get spaces and line breaks instead of braces, but you can forget about long lambdas, -i and triple operations.
Now for me this is not a reason not to learn a tool that will make you produce more with more fun. But maybe it's just me :-)
Honestly, considering that:
- C ++ is much harder to learn;
- You can do almost anything you want with Python;
- In your projects you will get faster results with Python.
If you do not have professional problems related to C ++, it is better to learn Python first, this is more motivating. You can still learn C ++ later, it is a useful language for system programming, embedded devices, etc.
Do not try to learn at the same time, multitasking rarely ends.