PHP程序員的一生
人們對(duì)PHP其實(shí)很吝嗇。
最近我拜讀了一篇非常棒的文章——《How False Stereotypes Turn Into Technical “Truths”》:
我們對(duì)編程語(yǔ)言的偏見(jiàn)不僅僅影響程序員辯論時(shí)的氣勢(shì),還會(huì)對(duì)該編程語(yǔ)言的應(yīng)聘和薪資產(chǎn)生重大影響。
這讓我一下子想到了大家對(duì)PHP社區(qū)的看法。
今天我在JavaScript Jabber網(wǎng)站的節(jié)目上聽(tīng)到了Jenn Schiffer關(guān)于人們?nèi)绾闻袛嗟木庶c(diǎn)評(píng),感觸良多,情不自禁地想與大家分享。
學(xué)習(xí)如何編程雖然JavaScript的確迅速占據(jù)了PHP的地位,但是依然有很多的方面的原因吸引了新的開(kāi)發(fā)人員到PHP領(lǐng)域中來(lái):
如果想要在共享的主機(jī)上建立網(wǎng)站或app。如果想要學(xué)習(xí)LAMP架構(gòu)。所有入門(mén)級(jí)的招聘崗位要的都是PHP開(kāi)發(fā)人員。每個(gè)人都恨PHP下面是一些關(guān)于PHP編程社區(qū)圍繞著消極氛圍的例子:
PHP Sadness:整個(gè)網(wǎng)頁(yè)都是在說(shuō)明使用PHP有多么的“sad”——可悲。PHP:a fractal of bad design:通篇抱怨PHP有多么爛的文章。Why does PHP suck?另外一篇與上述類(lèi)似的文章。太多了,真心舉不勝舉,如果用發(fā)表在《Hacker News》和Reddit上的一句話總結(jié)的話,那就是:
今天學(xué)習(xí)PHP,明天直接就淘汰。
看到這里,你是否開(kāi)始質(zhì)疑自己選擇了一門(mén)糟糕的編程語(yǔ)言?
你可知——一切都是建立在PHP的基礎(chǔ)上不要懷疑自己的選擇。盡管看上去似乎所有人喜歡的都是Clojure、Haskell和JavaScript——沒(méi)有人喜歡PHP。不要以為你爭(zhēng)取到你的第一份工作只是因?yàn)閮e幸?
看到這里,有沒(méi)有一種想去網(wǎng)上搜索哪些項(xiàng)目是基于PHP的欲望?那么我告訴你:
FacebookWordPress雅虎維基百科4chan有木有嚇一跳?很多聞名于世的大型網(wǎng)站都是用PHP寫(xiě)的。不過(guò),如果就此認(rèn)定PHP只適用于創(chuàng)建web應(yīng)用的話,那么請(qǐng)?jiān)试S我為PHP喊冤……
你還停留在2004年的觀念上么?不知道你有沒(méi)有發(fā)現(xiàn),很多對(duì)于PHP的批評(píng)針對(duì)的都是2000年初時(shí)的版本。
現(xiàn)在的PHP也具備了類(lèi),可以做OOP,有像Laravel和Symfony這些很棒的框架。
PHP的程序包管理器可以讓你在浩瀚的存檔開(kāi)源軟件包中翱翔。
PHP還具有很棒的測(cè)試框架。如PHPUnit單元測(cè)試框架,以及Behat和Codeception行為測(cè)試框架。
當(dāng)然,我也不否認(rèn)上面提到的一些抱怨,也是合情合理的。因?yàn)槊恳环N編程語(yǔ)言都是不同的,也許有些語(yǔ)言的確是比PHP產(chǎn)生的問(wèn)題要少,但是考慮到PHP的年齡、靈活性以及它的設(shè)計(jì)目的,那么你就不得不同意——PHP的容納性真的很好。
對(duì)開(kāi)發(fā)人員的影響作為PHP開(kāi)發(fā)人員,不被重視這個(gè)現(xiàn)狀(除了是在一些嚴(yán)謹(jǐn)?shù)拈_(kāi)發(fā)項(xiàng)目中)——說(shuō)出來(lái)還真是蠻讓人沮喪的。這也影響了PHP開(kāi)發(fā)人員在社區(qū)中的地位。
現(xiàn)在的話,PHP開(kāi)發(fā)人員大多活躍在封閉的微社區(qū)中,因?yàn)樵诖笮蛙浖こ躺鐓^(qū)里,總感覺(jué)不那么受歡迎。不過(guò),不用擔(dān)心,他們也時(shí)常有他們自己的聚會(huì),他們自己的用戶群和他們自己的會(huì)議。
無(wú)望的結(jié)局老實(shí)說(shuō),盡管我堅(jiān)信PHP是一門(mén)非常好的編程語(yǔ)言,但是我也不止一次地想要放棄。所以,我非常理解很多人的想法。
但是,如果僅僅是因?yàn)槿嗽埔嘣疲憔途芙^PHP——那么,PHP開(kāi)發(fā)人員就會(huì)越來(lái)越少,PHP社區(qū)也越來(lái)越小——直至看不到PHP的出路。
相關(guān)文章:
1. React+umi+typeScript創(chuàng)建項(xiàng)目的過(guò)程2. .Net core 的熱插拔機(jī)制的深入探索及卸載問(wèn)題求救指南3. 無(wú)線標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁(yè)4. SharePoint Server 2019新特性介紹5. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執(zhí)行過(guò)程解析6. html清除浮動(dòng)的6種方法示例7. 讀大數(shù)據(jù)量的XML文件的讀取問(wèn)題8. XML入門(mén)的常見(jiàn)問(wèn)題(二)9. ASP中常用的22個(gè)FSO文件操作函數(shù)整理10. ASP調(diào)用WebService轉(zhuǎn)化成JSON數(shù)據(jù),附j(luò)son.min.asp
