PHP can also run in cli mode, and there are also many libraries and extensions. Web development is not a problem. Desktop applications can also be developed with libraries such as gtk. Why hasn't it replaced Python? Their syntax also pursues simplicity and quick start. Use development Efficiency is replaced by operating efficiency. Many places are similar. Moreover, various training institutions now teach PHP more than Python. I always feel that there are many more people using PHP than Python.
Reply content:
I don't see how similar they are.
PHP is weakly typed; Python is strongly typed.
PHP is mainly for Web; Python is mainly for general purpose.
PHP had confusing naming and incomplete feature support (Unicode, namespace) in its early days; Python is much better than it.
PHP extensions focused on web development. Are there any reptiles? Is there any scientific calculation? Is there big data? Even process control cannot be done well.
PHP syntax is becoming more and more complex (like C++, features are constantly being added); Python is relatively clean.
PHP doesn’t even have a decent interactive shell (I found one, written in Python); Python not only supports interactive shells natively, but also has various useful ones such as ipython, bpython, ptpython, etc. things, as well as notebooks focusing on data analysis.
PHP couldn’t even handle SQL escaping before, right? When I first met Python, it was already DB API 2.0. If used correctly, there is no need to worry about SQL injection.
PHP is like a bunch of dollars; Python is more like ordinary text.
....
PS: Why only talk about the shortcomings of PHP and the advantages of Python? Because my answer is "Why hasn't PHP replaced Python", not "Why hasn't Python replaced PHP"!
PHP has never thought of replacing Python. If someone shouts this, it is probably the training institution who wantonly exaggerates PHP to fool you!
I used to try to use PHP to solve all problems, such as writing daemons, packaging desktop software, writing cli tools, etc., but it turned out to be in vain. PHP is not suitable for doing these at all. It’s not that it can’t be done. It is a Turing-equivalent language, but other languages can do better.
When writing daemons in PHP, it is easy to encounter situations where the CPU will surge to 100%. Later, I also encountered people who wrote daemons in PHP and also surged to 100%, and they even shocked themselves. Possible causes are not adding a timeout setting (stream_set_timeout), not destroying the expanding variables in time, opening a new database connection without closing it every time, etc.
Later on, I never used PHP to write daemons again, because the script feature of PHP is to automatically release all resources after each request is completed, so I didn’t think about resource release, timeout and other issues when writing. I got used to it. This method cannot be used to write daemons at all, nor is it suitable for writing desktop software. Strictly speaking, this is not a problem with PHP itself, but PHP will spoil you and abuse resources without releasing them.
In addition, I am confused about the fact that php has an ugly shell, php -a, but it only needs to be echoed every time to come out. You can also run php code directly, such as: php -r 'echo time(); ', -r means run, there is no need to add
The only thing I know about PHP is the phrase “the best language”, but for Python I hear mostly about “suitable for novices” and “suitable for mathematical research” "Wait, first of all the reputation will go up.
Also, where can you find so many underwear in PHP using PHP?
PHP is mainly on the web, and most web sites are PHP.
Python is mainly based on the command line, so you can see that many operation and maintenance tools are written in Python. Things in the world are not substitutes for each other or compete with each other. Each language has its own advantages and irreplaceable value. PHP and JAVA can be combined to develop enterprise-level projects, so what reason is there to exclude the command line? What about Python? The right one is the best.
It's like asking who to replace mall.
It’s not about who replaces the other, but each has its own space for survival.
php was once considered a sunset language. Later, various frameworks became popular, making the technical requirements for developing a product lower and lower.
In terms of community activity, there is no obvious strength or weakness between the two.
Why didn’t the pistol replace the rifle?
Because the functions are different and the scenarios are inconsistent.