PHP7需要改變什么【轉(zhuǎn)】

程序員(一般)定義好的編程語言是他們知道最好或最經(jīng)常使用。

我是一個PHP程序員趋观,約翰是一個JavaScript程序員狐胎,DHH是一個Ruby程序員垄惧,施瓦茨和蘭德爾是一個Perl程序員搓谆。

每個不同程序員看待問題都是不一樣的炒辉,但是總有一兩個會被共同認為是最好的。

每當聽到PHP被不尊重的時候泉手,作為一個PHP開發(fā)人員黔寇,感覺很受傷。

雖然我們必須使用PHP為一個用于Web應(yīng)用程序的語言斩萌,但它是一個爛語言缝裤,其使用不應(yīng)予以鼓勵,或支持超出了必要颊郎。

哎喲憋飞,聽說我日常使用的語言,被給予很爛的評價時候姆吭,有人可能會說你不應(yīng)該管其他人對你選擇的語言的評價榛做,只要自己認可就行。我想我真的不應(yīng)該嗎内狸,而且該聲明暗示的是检眯,不僅是語言很爛,開發(fā)商爛昆淡,而且我們PHP開發(fā)者也爛锰瘸。

那么,究竟應(yīng)該怎么做才關(guān)閉他人的大嘴巴呢?我們能否使PHP語言受到尊重? 我們能否讓PHP開發(fā)人員受到尊重? 讓我們來分析某些方面我們可以做到這一點昂灵。

打破一切

PHP7要打破一切避凝。 PHP開發(fā)人員應(yīng)該接受打破版本之間向下兼容的定律。只要不允許大量的向后兼容眨补,PHP7將是一個高度尊重的語言管削。

◆ 創(chuàng)建一個具體的核心語言 -刪除所有庫方法,并保持在對象集中的核心方法撑螺。 您應(yīng)該能夠編寫無需任何外部庫或擴展PHP7和對基本輸入/輸出佩谣,字符串處理和數(shù)學一個很好的完整的語言。庫以外的任何應(yīng)該通過批準擴展实蓬。

◆ 一切都當作一個對象

-以從Ruby茸俭,Smalltalk和(主要)的Java對象,并把它一切當作對象安皱。 整數(shù)是對象调鬓,字符串是對象,他們每個人都可以操作的方法酌伊,

我不相信PHP需要的Ruby和Smalltalk在對象之間傳遞彼此訊息的觀念腾窝,而調(diào)用對象的方法才是最好的缀踪。

◆ 一致的命名方法和類

-由于PHP的最大的抱怨之一是不斷要檢查,(needle,haystack) 或(haystack,

needle)虹脯,或some_function()驴娃,或function_some(),或someFunction()循集,一個一致的格式需要制定唇敞。

◆ 讓事情嚴格 -嘗試傳遞到一個方法浮動字符串? 這是一個警告。

◆ 一切是Unicode -在PHP6中的所有字符串都是Unicode咒彤,這很好疆柔,我主張PHP7也應(yīng)該保持。

◆ 中央啟動點 -創(chuàng)建一個主類或初始化镶柱,所有代碼執(zhí)行源于此旷档。

◆ 清理C代碼 -我不是一個C的專家,但如果你比較了解Ruby的C代碼到PHP的C代碼歇拆,可以很容易地了解了PHP與Ruby的內(nèi)部鞋屈。 我非常熟悉PHP,所以我自己的寫擴展更容易故觅。

◆ 擺脫eval() - eval()是邪惡的谐区。 如果你正在使用它,那么這是一個錯的主意:這將打破PHPUnit逻卖,拋棄它從現(xiàn)在開始。

◆ 支持操作符重載 -因為一切都是對象昭抒,開發(fā)者只需掌握操作對象的方法即可评也。

◆ 允許的方法簽名 -允許真正的方法簽名,所以程序員可以有不同的參數(shù)列表或返回類型的同名方法灭返。

class A {

public int function doSomething(int $a, float $b) {

// Same as $a->*($b->to_int());

int $c = $a * $b->to_int();

return $c;

}

public float function doSomething(int $a, float $b, float $c) {

// Same as calling $a->*($b->*($c)); since * is a method on each object $a and $b.

float $d = $a * $b * $c;

return $d;

}

}

◆ 建立一個PHP虛擬機(PVM) -我不能完全肯定這是可能的盗迟,因為我不是一個語言設(shè)計師,但它會是不錯的一個PHP虛擬機熙含。 它可以執(zhí)行PHP字節(jié)碼罚缕,并允許一個明確的堆和堆棧。

◆ 刪除copy-on-write (COW) -COW是一個相當陌生的概念怎静,邮弹,如果你不知道它的存在,以新的開發(fā)蚓聘,就可能導致問題腌乡。

◆ PHP官方發(fā)布規(guī)格 -類似于W3C HTML5規(guī)范,PHP的規(guī)格將允許開發(fā)人員實現(xiàn)自己的PHP版本夜牡,并確保有具體的例子來編譯与纽。

尊重語言

應(yīng)努力使語言得到尊重。 我們應(yīng)盡量招募開發(fā)者做出具有非常強大功能的PHP7。 我們應(yīng)該釋放巨大的代碼的安全急迂,易于閱讀影所,并教新的開發(fā)者以正確的方式編程。

我不知道Ruby的瘋狂僚碎,但我尊重Ruby語言猴娩。 我看到它的力量,我看在Ruby on Rails是一個非常好的框架听盖,它只是我不是喜歡的胀溺。如果我們能獲得具有很好威望的開發(fā)商認可或尊重,PHP就會走的更遠皆看。

尊敬開發(fā)人員

從上文的理解仓坞,我們需要一個非常德高望重的PHP開發(fā)核心團隊。 他們發(fā)布代碼腰吟,舉辦講座无埃,向人們展示了“正確的方式”做事,這支團隊將很快的受到不少開發(fā)商的尊重毛雇。

結(jié)論

我興奮PHP的未來嫉称。 我很懷疑我的想法會被執(zhí)行,但我真的相信他們會幫助整個社會灵疮。

我感到非常興奮织阅,當 世界第二大的網(wǎng)站宣布,他們正在幫助PHP建立偉大的社區(qū)震捣。

PHP是不會消失荔棉,他會越來越好,只要我們努力提高它蒿赢,改善它润樱,終有一天PHP會成為受開發(fā)者普遍尊重的語言。

最后羡棵,我不是一個語言設(shè)計師壹若。 我的想法可能會被認為完全胡說。 如果我不正確的地方皂冰,請禮貌地讓我知道店展,我會很高興地談?wù)撍?讓我們共同努力,使PHP成為備受尊重秃流,功能強大壁查,快速,高效的語言剔应。編譯若有差錯睡腿,歡迎指正语御!

中文原文鏈接:PHP7需要改變什么?

英文原文鏈接:What PHP Needs to Change

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市席怪,隨后出現(xiàn)的幾起案子应闯,更是在濱河造成了極大的恐慌,老刑警劉巖挂捻,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件碉纺,死亡現(xiàn)場離奇詭異,居然都是意外死亡刻撒,警方通過查閱死者的電腦和手機骨田,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來声怔,“玉大人态贤,你說我怎么就攤上這事〈谆穑” “怎么了悠汽?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長芥驳。 經(jīng)常有香客問我柿冲,道長,這世上最難降的妖魔是什么兆旬? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任假抄,我火速辦了婚禮,結(jié)果婚禮上丽猬,老公的妹妹穿的比我還像新娘宿饱。我一直安慰自己,他們只是感情好宝鼓,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著巴刻,像睡著了一般愚铡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上胡陪,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天沥寥,我揣著相機與錄音,去河邊找鬼柠座。 笑死邑雅,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的妈经。 我是一名探鬼主播淮野,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼捧书,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了骤星?” 一聲冷哼從身側(cè)響起经瓷,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎洞难,沒想到半個月后舆吮,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡队贱,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年色冀,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柱嫌。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡锋恬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出慎式,到底是詐尸還是另有隱情伶氢,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布瘪吏,位于F島的核電站癣防,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏掌眠。R本人自食惡果不足惜蕾盯,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蓝丙。 院中可真熱鬧级遭,春花似錦、人聲如沸渺尘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鸥跟。三九已至丢郊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間医咨,已是汗流浹背枫匾。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拟淮,地道東北人干茉。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓,卻偏偏與公主長得像很泊,于是被迫代替她去往敵國和親角虫。 傳聞我的和親對象是個殘疾皇子沾谓,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 說明本次redis集群安裝在rhel6.8 64位機器上,redis版本為3.2.8上遥,redis的gem文件版本為...
    讀或?qū)?/span>閱讀 14,745評論 3 9
  • PHP7 已經(jīng)出來1年了搏屑,PHP7.1也即將和大家見面,這么多好的特性粉楚,好的方法辣恋,為什么不使用呢,也希望PHP越來...
    夢幻_78af閱讀 2,097評論 1 10
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,167評論 25 707
  • 今早煙地干活模软,只有媽媽和一個師傅在地里干活點藥水伟骨,媽媽要我去幫忙裝藥水她們就好點,我就去裝了幾瓶藥水燃异,結(jié)果是怎...
    陳明霞閱讀 149評論 0 0
  • 殷殷紅嘴下繡樓 蓮步輕紗罩嬌柔 隨風飄逸柳蔭處 幽香陣陣落回眸 蝶舞翩翩流連意 醉入花顏夢枝頭
    雪韻詩寒閱讀 214評論 0 0