{eval=Array;=+count(Array);}
這是一個非常有意思的問題,作為一名IT從業(yè)者,我來說說我的看法。
首先,Python與PHP都是目前IT互聯(lián)網(wǎng)行業(yè)內(nèi)流行程度比較高的編程語言,但是Python與PHP的區(qū)別也比較明顯,一方面Python是非常典型的全場景編程語言,而PHP則主要應(yīng)用在Web開發(fā)領(lǐng)域,另一方面Python不僅在IT互聯(lián)網(wǎng)行業(yè)內(nèi)有大量的應(yīng)用,在傳統(tǒng)行業(yè)領(lǐng)域也有較為廣泛的應(yīng)用,而PHP則主要應(yīng)用在IT互聯(lián)網(wǎng)行業(yè)。
從當(dāng)前的發(fā)展趨勢來看,Python顯然不會走PHP的老路,借助于工業(yè)互聯(lián)網(wǎng)的推動,未來Python語言將隨著大數(shù)據(jù)、物聯(lián)網(wǎng)和人工智能等技術(shù)而得到更加廣泛地應(yīng)用,自身的功能邊界和應(yīng)用邊界會不斷得到拓展,從這個角度來看,未來Python的前景還是非常廣闊的。相比之下,PHP雖然在Web開發(fā)領(lǐng)域占據(jù)著較大的優(yōu)勢,但是應(yīng)用場景單一在一定程度上限制了PHP的發(fā)展,實(shí)際上這一點(diǎn)在云計(jì)算和大數(shù)據(jù)時代,已經(jīng)有了一定的體現(xiàn)。
當(dāng)前與Python對比比較多的另一個編程語言是Java,一方面原因是二者同為全場景編程語言,另一方面原因是Java語言的流行程度也非常高,直到今天Java語言依然是生產(chǎn)場景下非常重要的選擇之一。從Python的發(fā)展趨勢來看,Python也不會走Java的發(fā)展路線,Python的設(shè)計(jì)思想決定了Python更注重“整合”,這是一種維度比較高的設(shè)計(jì),在云計(jì)算時代,這種設(shè)計(jì)思想對于程序員來說是非常方便的,從這個角度來看,Python與PHP也有相似之處,都是在不同的技術(shù)時代,讓程序員能夠更加方便地實(shí)現(xiàn)開發(fā)任務(wù)。
最后,對于當(dāng)前要進(jìn)入IT互聯(lián)網(wǎng)行業(yè)發(fā)展的人來說,如果僅僅學(xué)習(xí)Python很難具有較強(qiáng)的崗位競爭力,還需要注重自身知識結(jié)構(gòu)的完整性和實(shí)踐能力的提升。
我從事互聯(lián)網(wǎng)行業(yè)多年,目前也在帶計(jì)算機(jī)專業(yè)的研究生,主要的研究方向集中在大數(shù)據(jù)和人工智能領(lǐng)域,我會陸續(xù)寫一些關(guān)于互聯(lián)網(wǎng)技術(shù)方面的文章,感興趣的朋友可以關(guān)注我,相信一定會有所收獲。
如果有互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區(qū)留言,或者私信我!
可以說不是,也可以說是。
說Python不是下一個PHP,是因?yàn)镻ython的應(yīng)用場景與PHP很不相同。PHP是Web開發(fā)語言,其最主要的應(yīng)用場景就是進(jìn)行網(wǎng)站后端應(yīng)用的開發(fā)。而反觀Python,其在Web開發(fā)方面應(yīng)用較少,它的主要應(yīng)用在數(shù)據(jù)分析、人工智能、深度學(xué)習(xí)和運(yùn)維等領(lǐng)域。Python與PHP所在的領(lǐng)域并不相同,說Python是下一個PHP,會接替PHP在Web開發(fā)的地位,這是不準(zhǔn)確的。
但從另一個角度講,Python也可以說是下一個PHP。在Web開發(fā)盛行的年代,LAMP成為了開發(fā)標(biāo)配,PHP在網(wǎng)站開發(fā)的地位難以撼動,其受歡迎程度和普及程度,與今日人工智能時代的Python非常相像,可以說都是各自時代現(xiàn)象級的語言。說Python是下一個PHP,也就是說Python也會成為這個時代一部分人的“最好的語言”,這也是沒錯的。
其實(shí)無論是Python還是PHP,都是開發(fā)者們進(jìn)行開發(fā)的工具,只不過有的比較適合自己而已,相信對于大部分程序員們來說,學(xué)習(xí)一門新的語言并不困難。只有掌握真正的原理技術(shù),才能跟上技術(shù)變遷的腳步,跟上下一個時代。
python能,為什么node.js不能,為什么go不能 『下一個 PHP』如何定義?是指流行程度么?如果是的話,我覺得 Python 不會像 PHP 那樣流行。根本原因在與部署難易程度。
PHP 從語言層面上講幾乎是一無是處,具體實(shí)現(xiàn)的質(zhì)量也乏善可陳,但它勝在最要命的部署上:沒有任何其他語言有像 PHP 一樣適合大規(guī)模部署的方式?;旧涎b好 Apache/mod_php 之后,PHP 應(yīng)用的部署就簡化為了復(fù)制文件。即便是考慮到性能原因等采用 nginx/FastCGI 等替代方式,額外的工作也只是在于最初配置。一旦配置完成,之后的部署都是文件復(fù)制。服務(wù)器重啟后通常會自動啟動 apache/nginx,fastcgi manager 負(fù)責(zé)啟動 php-cgi 進(jìn)程等,而 PHP 應(yīng)用基于文件的調(diào)用方式并不需要操心更多的維護(hù)。這對于如 Dreamhost 之類的平臺來說至關(guān)重要:他們通常要一臺服務(wù)器處理成千上萬的低流量用戶,而且這些用戶沒有 root 權(quán)限去運(yùn)行其他進(jìn)程。PHP 腳本的生命周期很短,沒有常駐進(jìn)程,每次調(diào)用之后就被終止,對于應(yīng)用作者的要求更低,不用太多的考慮資源管理問題。
這和 Python 之流的部署有天壤之別:大部分 Python 的網(wǎng)絡(luò)應(yīng)用如 Django, Tornado 等都需要多帶帶的常駐進(jìn)程(Apache/mod_python 似乎是個杯具)。這些進(jìn)程需要額外的維護(hù)工作以管理其啟動、停止,也需要額外的監(jiān)控進(jìn)程處理意外退出后的重啟。這需要用戶對系統(tǒng)有更深入的了解。常駐進(jìn)程需要占用系統(tǒng)內(nèi)存,通常不可能在一臺服務(wù)器上運(yùn)行成百上千個應(yīng)用,對于 Dreamhost 這樣的服務(wù)提供商來說不適合用來處理諸如 WordPress 博客之類的簡單應(yīng)用。常駐進(jìn)程也要求作者對系統(tǒng)資源的管理、垃圾回收機(jī)制等有更深入的了解以避免內(nèi)存泄露、資源占用過度等問題?,F(xiàn)在 Python 網(wǎng)絡(luò)應(yīng)用部署最簡單的應(yīng)該是 App Engine,采用了類似 PHP 的生命周期(請求處理 30 秒限制,超時被終止,無法運(yùn)行常駐進(jìn)程),極大簡化了管理難度,但是國內(nèi)無法訪問…
所以從流行程度上講,Python 不會超過 PHP,因?yàn)閿?shù)量龐大的服務(wù)提供商無法用 Python 支撐現(xiàn)有的用戶規(guī)模。但是這個流行程度對于創(chuàng)業(yè)公司、專業(yè)人士來說沒有什么意義。很多核心的網(wǎng)絡(luò)應(yīng)用不適合用 PHP 的短暫請求處理機(jī)制實(shí)現(xiàn)(比如準(zhǔn)實(shí)時 push 提醒、網(wǎng)頁即時聊天等),而更加適合由常駐進(jìn)程來處理。這些才是 Python,Ruby 等語言實(shí)現(xiàn)發(fā)揮其能量的地方。 Python就是Python,為什么要是下一個PHP? Python部署成問題?Python的Web應(yīng)用只在虛擬主機(jī)里部署成問題,其它平臺都好好的。
我的理解應(yīng)該不是下一個PHP。因?yàn)閜ython做WEB應(yīng)用只是它的一部分內(nèi)容,而且目前web開發(fā)在python所有應(yīng)用的占比其實(shí)是不高的。近幾年python火起來,主要是AI人工智能行業(yè)的火爆帶動的。另外python在爬蟲,運(yùn)維自動化等方面也是有很多公司在使用。
所以python應(yīng)該不是下一個PHP。
5
回答1
回答0
回答3
回答1
回答0
回答2
回答0
回答7
回答8
回答