Home  >  Article  >  Backend Development  >  What python can't do

What python can't do

(*-*)浩
(*-*)浩Original
2019-05-23 14:04:287564browse

Things that python cannot do: 1. Python is not suitable for device drivers. 2. Python cannot be used on some very small computers. 3. Python doesn’t really run in the browser. 4. Python is not portable. 5. Python is too slow for some purposes.

What python can't do

#This question can be interpreted as "List all the things that the Python language cannot do". Below I've listed some things that Python can't do.

1. Python is not suitable for device drivers.

Device drivers must be super fast and responsive. Python doesn't tend to either. Device drivers must run independently. Python has a huge runtime system. Python uses a garbage collection system similar to Java. In some cases, pauses in garbage collection are intolerable.

2. Python cannot be used on some very small computers.

Some computers (such as Arduino) are often too small for Python. Python has a runtime library that takes up too much memory for some machines. There is something called MicroPython. However, even MicroPython uses far more memory than some (very small) systems. Please note that the Raspberry Pi is based on Python.

3. Python does not really run in the browser.

Tools and solutions exist for this problem. However, JavaScript is (by far) the primary tool for front-end programming, not Python.

4. Python is not easy to carry.

In fact, Python is super portable. However, you must have the Python runtime installed. Therefore, most games are not written in Python. Installing the Python runtime is too much of a hurdle for many applications. In this respect, Python is like Java. Java is actually very, very portable. However, you must have the JVM installed.

5. Python is too slow for some purposes.

The game has very demanding FPS requirements and requires processing a lot of pixels. Therefore, most games are written in C/C, not Python. On average, Python is about 100 times slower than C. In many (most) cases, this isn't a big problem. For games and some other applications, it is.

6. Python is not a "bare metal" language.

If you need to directly access and manipulate hardware, Python may not be a good choice. See point 1 above (device driver). Note that Python does not have real pointers, which contain actual machine addresses. In some cases, this is a critical issue.

7. Python is almost single-threaded (see other answers).

In some cases this is a big problem (not many actually), and in other cases it's not a problem. Note that Python doesn't do a great job of using traditional kernels. However, some very important Python libraries do take advantage of the CUDA core.

Overall, Python is a very good tool. Personally, I love it. However, it's not the right choice for everything.

The above is the detailed content of What python can't do. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn