PHP程序員的一生
人們對PHP其實(shí)很吝嗇。
最近我拜讀了一篇非常棒的文章——《How False Stereotypes Turn Into Technical “Truths”》:
我們對編程語言的偏見不僅僅影響程序員辯論時(shí)的氣勢,還會(huì)對該編程語言的應(yīng)聘和薪資產(chǎn)生重大影響。
這讓我一下子想到了大家對PHP社區(qū)的看法。
今天我在JavaScript Jabber網(wǎng)站的節(jié)目上聽到了Jenn Schiffer關(guān)于人們?nèi)绾闻袛嗟木庶c(diǎn)評,感觸良多,情不自禁地想與大家分享。
學(xué)習(xí)如何編程雖然JavaScript的確迅速占據(jù)了PHP的地位,但是依然有很多的方面的原因吸引了新的開發(fā)人員到PHP領(lǐng)域中來:
如果想要在共享的主機(jī)上建立網(wǎng)站或app。如果想要學(xué)習(xí)LAMP架構(gòu)。所有入門級(jí)的招聘崗位要的都是PHP開發(fā)人員。每個(gè)人都恨PHP下面是一些關(guān)于PHP編程社區(qū)圍繞著消極氛圍的例子:
PHP Sadness:整個(gè)網(wǎng)頁都是在說明使用PHP有多么的“sad”——可悲。PHP:a fractal of bad design:通篇抱怨PHP有多么爛的文章。Why does PHP suck?另外一篇與上述類似的文章。太多了,真心舉不勝舉,如果用發(fā)表在《Hacker News》和Reddit上的一句話總結(jié)的話,那就是:
今天學(xué)習(xí)PHP,明天直接就淘汰。
看到這里,你是否開始質(zhì)疑自己選擇了一門糟糕的編程語言?
你可知——一切都是建立在PHP的基礎(chǔ)上不要懷疑自己的選擇。盡管看上去似乎所有人喜歡的都是Clojure、Haskell和JavaScript——沒有人喜歡PHP。不要以為你爭取到你的第一份工作只是因?yàn)閮e幸?
看到這里,有沒有一種想去網(wǎng)上搜索哪些項(xiàng)目是基于PHP的欲望?那么我告訴你:
FacebookWordPress雅虎維基百科4chan有木有嚇一跳?很多聞名于世的大型網(wǎng)站都是用PHP寫的。不過,如果就此認(rèn)定PHP只適用于創(chuàng)建web應(yīng)用的話,那么請?jiān)试S我為PHP喊冤……
你還停留在2004年的觀念上么?不知道你有沒有發(fā)現(xiàn),很多對于PHP的批評針對的都是2000年初時(shí)的版本。
現(xiàn)在的PHP也具備了類,可以做OOP,有像Laravel和Symfony這些很棒的框架。
PHP的程序包管理器可以讓你在浩瀚的存檔開源軟件包中翱翔。
PHP還具有很棒的測試框架。如PHPUnit單元測試框架,以及Behat和Codeception行為測試框架。
當(dāng)然,我也不否認(rèn)上面提到的一些抱怨,也是合情合理的。因?yàn)槊恳环N編程語言都是不同的,也許有些語言的確是比PHP產(chǎn)生的問題要少,但是考慮到PHP的年齡、靈活性以及它的設(shè)計(jì)目的,那么你就不得不同意——PHP的容納性真的很好。
對開發(fā)人員的影響作為PHP開發(fā)人員,不被重視這個(gè)現(xiàn)狀(除了是在一些嚴(yán)謹(jǐn)?shù)拈_發(fā)項(xiàng)目中)——說出來還真是蠻讓人沮喪的。這也影響了PHP開發(fā)人員在社區(qū)中的地位。
現(xiàn)在的話,PHP開發(fā)人員大多活躍在封閉的微社區(qū)中,因?yàn)樵诖笮蛙浖こ躺鐓^(qū)里,總感覺不那么受歡迎。不過,不用擔(dān)心,他們也時(shí)常有他們自己的聚會(huì),他們自己的用戶群和他們自己的會(huì)議。
無望的結(jié)局老實(shí)說,盡管我堅(jiān)信PHP是一門非常好的編程語言,但是我也不止一次地想要放棄。所以,我非常理解很多人的想法。
但是,如果僅僅是因?yàn)槿嗽埔嘣疲憔途芙^PHP——那么,PHP開發(fā)人員就會(huì)越來越少,PHP社區(qū)也越來越小——直至看不到PHP的出路。
相關(guān)文章:
1. 使用Python和百度語音識(shí)別生成視頻字幕的實(shí)現(xiàn)2. 淺談SpringMVC jsp前臺(tái)獲取參數(shù)的方式 EL表達(dá)式3. Java封裝數(shù)組實(shí)現(xiàn)包含、搜索和刪除元素操作詳解4. Gitlab CI-CD自動(dòng)化部署SpringBoot項(xiàng)目的方法步驟5. ajax請求添加自定義header參數(shù)代碼6. JAVA上加密算法的實(shí)現(xiàn)用例7. 基于javascript處理二進(jìn)制圖片流過程詳解8. Django-migrate報(bào)錯(cuò)問題解決方案9. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)10. ASP中解決“對象關(guān)閉時(shí),不允許操作。”的詭異問題……
