首先,定義“更好”?這是一個(gè)非常主觀的術(shù)語(yǔ),完全取決于你要找的是什么。你是說(shuō)更快嗎?更廣泛的使用?容易嗎?提供更好的就業(yè)前景?框架和庫(kù)的更大可用性?我可以繼續(xù)說(shuō)下去。
PYTHON
Python和PHP哪一個(gè)更好,為什么?
Python的優(yōu)勢(shì)是什么?大量的內(nèi)置和第三方庫(kù)/模塊,專(zhuān)門(mén)用于web開(kāi)發(fā)和服務(wù)器管理(服務(wù)器管理也適用于web開(kāi)發(fā))。
這些第三方庫(kù)設(shè)計(jì)良好,維護(hù)良好,易于安裝,功能強(qiáng)大。
易于開(kāi)發(fā)。如果你曾經(jīng)用Python編程過(guò),你就會(huì)知道它有多簡(jiǎn)單。
Django非常強(qiáng)大。它幫助替換JavaScript和PHP。
個(gè)人而言,我討厭PHP和JavaScript。它們使用起來(lái)令人沮喪,而且都容易出現(xiàn)漏洞。更多的是因?yàn)镻HP語(yǔ)言的缺陷;因?yàn)楣殴值囊?guī)范中的缺陷導(dǎo)致了對(duì)JS引擎應(yīng)該如何實(shí)現(xiàn)的糟糕解釋。
完全面向?qū)ο蟮摹?/p>
非常適合數(shù)據(jù)操作和機(jī)器學(xué)習(xí)(如果你在平臺(tái)上提供有針對(duì)性的廣告,這一點(diǎn)很重要)。
有了正確的框架和模塊(作為標(biāo)準(zhǔn)包含),您就可以很好地與數(shù)據(jù)庫(kù)服務(wù)器集成,并為站點(diǎn)自動(dòng)生成查詢。
例如,如果用戶在他們的賬戶中搜索特定的許可證密鑰,框架通過(guò)將用戶的操作轉(zhuǎn)換為SQL查詢來(lái)處理。
例2:如果管理員通過(guò)電子郵件地址搜索客戶,框架會(huì)將其轉(zhuǎn)換為SQL查詢,然后將結(jié)果轉(zhuǎn)換回來(lái),并以css格式的HTML顯示它們。
Python的優(yōu)勢(shì)是什么?
Python的弱點(diǎn)是什么?緩慢,很緩慢。比Python迷們承認(rèn)的要慢。正如網(wǎng)上所說(shuō),PHP的速度快了3倍(有時(shí)快,有時(shí)慢,取決于情況)。
當(dāng)你使用它進(jìn)行開(kāi)發(fā)時(shí),你不能把它當(dāng)成是在使用Python:你在使用一個(gè)框架(例如Django)。所以學(xué)習(xí)Python是不夠的,你還必須學(xué)習(xí)框架。
Python遠(yuǎn)不及PHP的廣泛使用,因此它的可雇傭性因素,特別是在web開(kāi)發(fā)方面,是非常有限的。我聽(tīng)說(shuō)有一項(xiàng)數(shù)據(jù)顯示~80%的網(wǎng)站使用PHP -我無(wú)法驗(yàn)證這個(gè)數(shù)據(jù),但我不會(huì)感到驚訝。
這種情況與速度慢有關(guān),但是需要單獨(dú)處理:資源使用。Python比PHP更占用資源。你可能會(huì)想,如果它利用了這么多可用的資源,那實(shí)際上可能有助于加速它……不,不,它沒(méi)有。
Python總結(jié):Python的OOP方面糟透了。如果您曾經(jīng)用Java、c#或c++等語(yǔ)言進(jìn)行過(guò)OOP,您就會(huì)理解我為什么討厭它。任何依賴于此和super()的語(yǔ)言都沒(méi)有做到這一點(diǎn)。它使您的代碼看起來(lái)非?;靵y,混淆了整個(gè)過(guò)程,并使開(kāi)發(fā)人員容易出錯(cuò)。這只是沒(méi)有必要——語(yǔ)言的整個(gè)方面感覺(jué)(我想我已經(jīng)在這個(gè)網(wǎng)站的其他地方說(shuō)過(guò))就像被一條盲魚(yú)用錘子栓住了一樣……作為一個(gè)事后的想法。你猜怎么著?這是!好吧,它不是用錘子栓上的,是一條魚(yú)。但這只是后來(lái)的想法,最初并沒(méi)有打算成為語(yǔ)言的一部分(最初并沒(méi)有包含它)。
它是一種糟糕的、限制性很強(qiáng)的OOP實(shí)現(xiàn)。再一次的意見(jiàn)。有些人喜歡它,但他們通常說(shuō)C和c++是困難的和令人困惑的。
總而言之,這并不可怕,對(duì)吧?我個(gè)人認(rèn)為,從就業(yè)能力的角度來(lái)看,與PHP相比,上面最大的問(wèn)題是“市場(chǎng)份額”。
PHP
php
PHP的優(yōu)勢(shì)是什么?非???。
完全面向?qū)ο蟮摹?/p>
用于絕大多數(shù)后端網(wǎng)絡(luò)服務(wù)和網(wǎng)站的“幕后”功能。
與SQL服務(wù)器以及幾乎所有類(lèi)型的服務(wù)器很好地集成。
自動(dòng)生成對(duì)數(shù)據(jù)庫(kù)的查詢(參見(jiàn)Python示例部分的含義)
為web使用而設(shè)計(jì)的豐富的內(nèi)置功能。
許多可用的PHP web API進(jìn)一步擴(kuò)展了可以做的事情。
其中很多是專(zhuān)門(mén)為PHP設(shè)計(jì)的,不能與Python & Django一起使用。
許多電子商務(wù)API
PHP的弱點(diǎn)是什么?php的語(yǔ)法糟透了。是的,這是一個(gè)觀點(diǎn),但它是一個(gè)非常廣泛的觀點(diǎn)。每一個(gè)和我交談過(guò)的PHP程序員也都持有這個(gè)觀點(diǎn)。如果你還不熟悉它,去看看。
SQL注入攻擊。
如何使用PHP解決:
防止PHP應(yīng)用程序中的SQL注入漏洞并修復(fù)它們
遠(yuǎn)程代碼執(zhí)行:
PHP應(yīng)用程序中的bug可能會(huì)接受用戶輸入并將其作為PHP代碼計(jì)算。
跨站腳本(XSS [X = Cross]):
存儲(chǔ)XSS和反射XSS
繞過(guò)認(rèn)證——從技術(shù)上講,這是開(kāi)發(fā)人員的一個(gè)錯(cuò)誤,但是語(yǔ)言本身使它非常非常容易犯這個(gè)錯(cuò)誤。
PHP的弱點(diǎn)是什么?
PHP總結(jié):OOP和Python一樣糟糕。可能由于語(yǔ)法的原因更糟。它仍然使用這個(gè)(但實(shí)際上是$this)
總之,這些漏洞非??膳?,但它們主要是由開(kāi)發(fā)人員的錯(cuò)誤造成的。好好了解PHP,不僅要研究“我如何進(jìn)行PHP開(kāi)發(fā)”,還要研究“PHP開(kāi)發(fā)陷阱”和“PHP漏洞”,這樣就不會(huì)有這樣的問(wèn)題了。
那么最終的結(jié)論是什么呢?好吧,不管Python迷們?cè)趺凑f(shuō),Python不能完全取代PHP,因?yàn)榇嬖谕ㄓ玫腜HP專(zhuān)用API,而且PHP在行業(yè)中占主導(dǎo)地位。
我知道我已經(jīng)講了很長(zhǎng)時(shí)間了,但這是我的最后一點(diǎn),并且非常重要的一點(diǎn)是:開(kāi)發(fā)人員應(yīng)該選擇一種“最好的語(yǔ)言,因?yàn)樗亲詈玫摹钡南敕ㄊ乾F(xiàn)代教育系統(tǒng)和初級(jí)開(kāi)發(fā)人員的巨大失敗。為了真正精通任何開(kāi)發(fā)領(lǐng)域,無(wú)論是web、應(yīng)用程序還是軟件,你都需要掌握多種語(yǔ)言。同樣的道理也適用于可靠的老板。
軼事:當(dāng)我剛開(kāi)始在這個(gè)行業(yè)工作的時(shí)候,我記得當(dāng)我詢問(wèn)并且工作的開(kāi)發(fā)人員告訴我他們知道匯編,C, c++, c#, JavaScript,二進(jìn)制和十六進(jìn)制時(shí),我留下了深刻的印象。
我現(xiàn)在不太感興趣了,因?yàn)槲抑繡, c++。一些c#(學(xué)習(xí)更多),JavaScript, Python, Java, HTML, CSS,一些PHP(學(xué)習(xí)更多),SQL,二進(jìn)制,十六進(jìn)制…他們?nèi)匀槐任腋薪?jīng)驗(yàn)和熟練,但我現(xiàn)在明白了,了解很多語(yǔ)言是正常的,是需要做的事情。
所以總結(jié)來(lái)說(shuō),關(guān)鍵不在于哪種更好,而在于理解在哪里和什么時(shí)候使用它們。并且,對(duì)于web開(kāi)發(fā),你應(yīng)該學(xué)習(xí)的最基本的是以下內(nèi)容:
超文本標(biāo)記語(yǔ)言
CSS
JavaScript
PHP
JSON (XML替換)
SQL (MySQL, Oracle, MS SQL是3個(gè)主要的)-小心不同的“口味”
Python
對(duì)于一個(gè)職業(yè)來(lái)說(shuō),以上幾點(diǎn)是絕對(duì)沒(méi)有商量余地的。也可以選擇學(xué)習(xí)Java。它對(duì)web應(yīng)用程序很有用。
掃描二維碼推送至手機(jī)訪問(wèn)。
版權(quán)聲明:本文由信途科技轉(zhuǎn)載于網(wǎng)絡(luò),如有侵權(quán)聯(lián)系站長(zhǎng)刪除。
轉(zhuǎn)載請(qǐng)注明出處http://macbookprostickers.com/xintu/13840.html