python和php性能對比(Python和PHP哪一個更好為什麼)
2023-09-10 22:20:27 1
首先,定義「更好」?這是一個非常主觀的術語,完全取決於你要找的是什麼。你是說更快嗎?更廣泛的使用?容易嗎?提供更好的就業前景?框架和庫的更大可用性?我可以繼續說下去。
Python
Python和PHP哪一個更好,為什麼?
Python的優勢是什麼?大量的內置和第三方庫/模塊,專門用於web開發和伺服器管理(伺服器管理也適用於web開發)。
這些第三方庫設計良好,維護良好,易於安裝,功能強大。
易於開發。如果你曾經用Python編程過,你就會知道它有多簡單。
Django非常強大。它幫助替換JavaScript和PHP。
個人而言,我討厭PHP和JavaScript。它們使用起來令人沮喪,而且都容易出現漏洞。更多的是因為PHP語言的缺陷;因為古怪的規範中的缺陷導致了對JS引擎應該如何實現的糟糕解釋。
完全面向對象的。
非常適合數據操作和機器學習(如果你在平臺上提供有針對性的廣告,這一點很重要)。
有了正確的框架和模塊(作為標準包含),您就可以很好地與資料庫伺服器集成,並為站點自動生成查詢。
例如,如果用戶在他們的帳戶中搜索特定的許可證密鑰,框架通過將用戶的操作轉換為SQL查詢來處理。
例2:如果管理員通過電子郵件地址搜索客戶,框架會將其轉換為SQL查詢,然後將結果轉換回來,並以css格式的HTML顯示它們。
Python的優勢是什麼?
Python的弱點是什麼?緩慢,很緩慢。比Python迷們承認的要慢。正如網上所說,PHP的速度快了3倍(有時快,有時慢,取決於情況)。
當你使用它進行開發時,你不能把它當成是在使用Python:你在使用一個框架(例如Django)。所以學習Python是不夠的,你還必須學習框架。
Python遠不及PHP的廣泛使用,因此它的可僱傭性因素,特別是在web開發方面,是非常有限的。我聽說有一項數據顯示~80%的網站使用PHP -我無法驗證這個數據,但我不會感到驚訝。
這種情況與速度慢有關,但是需要單獨處理:資源使用。Python比PHP更佔用資源。你可能會想,如果它利用了這麼多可用的資源,那實際上可能有助於加速它……不,不,它沒有。
Python總結:Python的OOP方面糟透了。如果您曾經用Java、c#或c 等語言進行過OOP,您就會理解我為什麼討厭它。任何依賴於此和super的語言都沒有做到這一點。它使您的代碼看起來非常混亂,混淆了整個過程,並使開發人員容易出錯。這只是沒有必要——語言的整個方面感覺(我想我已經在這個網站的其他地方說過)就像被一條盲魚用錘子栓住了一樣……作為一個事後的想法。你猜怎麼著?這是!好吧,它不是用錘子栓上的,是一條魚。但這只是後來的想法,最初並沒有打算成為語言的一部分(最初並沒有包含它)。
它是一種糟糕的、限制性很強的OOP實現。再一次的意見。有些人喜歡它,但他們通常說C和c 是困難的和令人困惑的。
總而言之,這並不可怕,對吧?我個人認為,從就業能力的角度來看,與PHP相比,上面最大的問題是「市場份額」。
PHP
php
PHP的優勢是什麼?非常快。
完全面向對象的。
用於絕大多數後端網絡服務和網站的「幕後」功能。
與SQL伺服器以及幾乎所有類型的伺服器很好地集成。
自動生成對資料庫的查詢(參見Python示例部分的含義)
為web使用而設計的豐富的內置功能。
許多可用的PHP web API進一步擴展了可以做的事情。
其中很多是專門為PHP設計的,不能與Python & Django一起使用。
許多電子商務API
PHP的弱點是什麼?php的語法糟透了。是的,這是一個觀點,但它是一個非常廣泛的觀點。每一個和我交談過的PHP程式設計師也都持有這個觀點。如果你還不熟悉它,去看看。
SQL注入攻擊。
如何使用PHP解決:
防止PHP應用程式中的SQL注入漏洞並修復它們
遠程代碼執行:
PHP應用程式中的bug可能會接受用戶輸入並將其作為PHP代碼計算。
跨站腳本(XSS [X = Cross]):
存儲XSS和反射XSS
繞過認證——從技術上講,這是開發人員的一個錯誤,但是語言本身使它非常非常容易犯這個錯誤。
PHP的弱點是什麼?
PHP總結:OOP和Python一樣糟糕。可能由於語法的原因更糟。它仍然使用這個(但實際上是$this)
總之,這些漏洞非常可怕,但它們主要是由開發人員的錯誤造成的。好好了解PHP,不僅要研究「我如何進行PHP開發」,還要研究「PHP開發陷阱」和「PHP漏洞」,這樣就不會有這樣的問題了。
那麼最終的結論是什麼呢?好吧,不管Python迷們怎麼說,Python不能完全取代PHP,因為存在通用的PHP專用API,而且PHP在行業中佔主導地位。
我知道我已經講了很長時間了,但這是我的最後一點,並且非常重要的一點是:開發人員應該選擇一種「最好的語言,因為它是最好的」的想法是現代教育系統和初級開發人員的巨大失敗。為了真正精通任何開發領域,無論是web、應用程式還是軟體,你都需要掌握多種語言。同樣的道理也適用於可靠的老闆。
軼事:當我剛開始在這個行業工作的時候,我記得當我詢問並且工作的開發人員告訴我他們知道彙編,C, c , c#, JavaScript,二進位和十六進位時,我留下了深刻的印象。
我現在不太感興趣了,因為我知道C, c 。一些c#(學習更多),JavaScript, Python, Java, HTML, CSS,一些PHP(學習更多),SQL,二進位,十六進位…他們仍然比我更有經驗和熟練,但我現在明白了,了解很多語言是正常的,是需要做的事情。
所以總結來說,關鍵不在於哪種更好,而在於理解在哪裡和什麼時候使用它們。並且,對於web開發,你應該學習的最基本的是以下內容:
超文本標記語言
CSS
JavaScript
PHP
JSON (XML替換)
SQL (MySQL, Oracle, MS SQL是3個主要的)-小心不同的「口味」
Python
對於一個職業來說,以上幾點是絕對沒有商量餘地的。也可以選擇學習Java。它對web應用程式很有用。
,