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

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

我是一個PHP程序員,約翰是一個JavaScript程序員,DHH是一個Ruby程序員,施瓦茨和蘭德爾是一個Perl程序員。

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

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

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

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

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

打破一切

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

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

◆ 一切都當(dāng)作一個對象

-以從Ruby,Smalltalk和(主要)的Java對象,并把它一切當(dāng)作對象。 整數(shù)是對象,字符串是對象,他們每個人都可以操作的方法,

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

◆ 一致的命名方法和類

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

needle),或some_function(),或function_some(),或someFunction(),一個一致的格式需要制定。

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

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

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

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

◆ 擺脫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虛擬機(jī)(PVM) -我不能完全肯定這是可能的,因為我不是一個語言設(shè)計師,但它會是不錯的一個PHP虛擬機(jī)。 它可以執(zhí)行PHP字節(jié)碼,并允許一個明確的堆和堆棧。

◆ 刪除copy-on-write (COW) -COW是一個相當(dāng)陌生的概念,,如果你不知道它的存在,以新的開發(fā),就可能導(dǎo)致問題。

◆ 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ā)商認(rèn)可或尊重,PHP就會走的更遠(yuǎn)。

尊敬開發(fā)人員

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

結(jié)論

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

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

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

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

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

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容