PHP需要改變什麼

發表於2011-07-06

導讀:本文是從Vic Cherubini 的博文《What PHP Needs to Change》翻譯而來,作者從自身對PHP語言的理解和喜愛為出發點,談了對PHP7的展望,文章列舉了作者認為PHP需要改變的地方,並衷心的希望PHP的未來更美好!

另外,原作者今年已從PHP退役了,轉向了Scala。

程式設計師(一般)定義好的程式語言是他們知道最好或最經常使用。 我是一個PHP程式設計師,約翰是一個JavaScript程式設計師,DHH是一個Ruby程式設計師,施瓦茨和蘭德爾是一個Perl程式設計師。 每個不同程式設計師看待問題都是不一樣的,但是總有一兩個會被共同認為是最好的。

PHP進化

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

雖然我們必須使用PHP為一個用於Web應用程式的語言,但它是一個爛語言,其使用不應予以鼓勵,或支援超出了必要。

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

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

打破一切

PHP7要打破一切。 PHP開發人員應該接受打破版本之間向下相容的定律。只要不允許大量的向後相容,PHP7將是一個高度尊重的語言。

  • 建立一個具體的核心語言 -刪除所有庫方法,並保持在物件集中的核心方法。 您應該能夠編寫無需任何外部庫或擴充套件PHP7和對基本輸入/輸出,字串處理和數學一個很好的完整的語言。庫以外的任何應該通過批准擴充套件。
  • 一切都當作一個物件 -以從Ruby,Smalltalk和(主要)的Java物件,並把它一切當作物件。 整數是物件,字串是物件,他們每個人都可以操作的方法, 我不相信PHP需要的Ruby和Smalltalk在物件之間傳遞彼此訊息的觀念,而呼叫物件的方法才是最好的。
  • 一致的命名方法和類 -由於PHP的最大的抱怨之一是不斷要檢查,(needle,haystack) 或(haystack, needle),或some_function(),或function_some(),或someFunction(),一個一致的格式需要制定。
  • 讓事情嚴格 -嘗試傳遞到一個方法浮動字串? 這是一個警告。
  • 一切是Unicode -在PHP6中的所有字串都是Unicode,這很好,我主張PHP7也應該保持。
  • 中央啟動點 -建立一個主類或初始化,所有程式碼執行源於此。
  • 清理C程式碼 -我不是一個C的專家,但如果你比較瞭解Ruby的​​C程式碼到PHP的C程式碼,可以很容易地瞭解了PHP與Ruby的​​內部。 我非常熟悉PHP,所以我自己的寫擴充套件更容易。
  • 擺脫eval() – eval()是邪惡的。 如果你正在使用它,那麼這是一個錯的主意:這將打破PHPUnit,拋棄它從現在開始。
  • 支援操作符過載 -因為一切都是物件,開發者只需掌握操作物件的方法即可。
  • 允許的方法簽名 -允許真正的方法簽名,所以程式設計師可以有不同的引數列表或返回型別的同名方法。

  • 建立一個PHP虛擬機器(PVM) -我不能完全肯定這是可能的,因為我不是一個語言設計師,但它會是不錯的一個PHP虛擬機器。 它可以執行PHP位元組碼,並允許一個明確的堆和堆疊。
  • 刪除copy-on-write (COW) -COW是一個相當陌生的概念,,如果你不知道它的存在,以新的開發,就可能導致問題。
  • PHP官方釋出規格 -類似於W3C HTML5規範,PHP的規格將允許開發人員實現自己的PHP版本,並確保有具體的例子來編譯。

尊重語言

應努力使語言得到尊重。 我們應儘量招募開發者做出具有非常強大功能的PHP7。 我們應該釋放巨大的程式碼的安全,易於閱讀,並教新的開發者以正確的方式程式設計。

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

尊敬開發人員

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

結論

我對PHP的未來很興奮。 我很懷疑我的想法會實現,但我真的相信他們會幫助整個社會。 我感到非常興奮,當 世界第二大的網站宣佈,他們正在幫助PHP建立偉大的社群。 PHP是不會消失,他會越來越好,只要我們努力提高它,改善它,終有一天PHP會成為受開發者普遍尊重的語言。

最後,我不是一個語言設計師。 我的想法可能會被認為完全胡說。 如果我不正確的地方,請禮貌地讓我知道,我會很高興地談論它。 讓我們共同努力,使PHP成為備受尊重、功能強大、快速、高效的語言。

原文:Vic Cherubini
  譯文:七武海

相關文章