程序員(一般)定義好的編程語言是他們知道最好或最經常使用。我是一個PHP程序員,約翰是一個JavaScript程序員,DHH是一個Ruby程序員,施瓦茨和蘭德爾是一個Perl程序員。 每個不同程序員看待問題都是不一樣的,但是總有一兩個會被共同認為是最好的。
每當聽到PHP被不尊重的時候,作為一個PHP開發人員,感覺很受傷。
雖然我們必須使用PHP為一個用於Web應用程序的語言,但它是一個爛語言,其使用不應予以鼓勵,或支持超出了必要。
哎喲,聽說我日常使用的語言,被給予很爛的評價時候,有人可能會說你不應該管其他人對你選擇的語言的評價,只要自己認可就行。我想我真的不應該嗎,而且該聲明暗示的是,不僅是語言很爛,開發商爛,而且我們PHP開發者也爛。
那麼,究竟應該怎麼做才關閉他人的大嘴巴呢?我們能否使PHP語言受到尊重? 我們能否讓PHP開發人員受到尊重? 讓我們來分析某些方面我們可以做到這一點。
一、打破一切
PHP7要打破一切。 PHP開發人員應該接受打破版本之間向下兼容的定律。只要不允許大量的向後兼容,PHP7將是一個高度尊重的語言。
1、創建一個具體的核心語言
刪除所有庫方法,並保持在對象集中的核心方法。 您應該能夠編寫無需任何外部庫或擴展PHP7和對基本輸入/輸出,字符串處理和數學一個很好的完整的語言。庫以外的任何應該通過批准擴展。
2、一切都當作一個對象
以從Ruby,Smalltalk和(主要)的Java對象,並把它一切當作對象。 整數是對象,字符串是對象,他們每個人都可以操作的方法, 我不相信PHP需要的Ruby和Smalltalk在對象之間傳遞彼此訊息的觀念,而調用對象的方法才是最好的。
3、一致的命名方法和類
由於PHP的最大的抱怨之一是不斷要檢查,(needle,haystack) 或(haystack, needle),或some_function(),或function_some(),或someFunction(),一個一致的格式需要制定。
4、讓事情嚴格
嘗試傳遞到一個方法浮動字符串? 這是一個警告。
5、 一切是Unicode
在PHP6中的所有字符串都是Unicode,這很好,我主張PHP7也應該保持。
6、中央啟動點
創建一個主類或初始化,所有代碼執行源於此。
7、清理C代碼
我不是一個C的專家,但如果你比較了解Ruby的C代碼到PHP的C代碼,可以很容易地了解了PHP與Ruby的內部。 我非常熟悉PHP,所以我自己的寫擴展更容易。
8、擺脫eval()
eval()是邪惡的。 如果你正在使用它,那麼這是一個錯的主意:這將打破PHPUnit,拋棄它從現在開始。
9、支持操作符重載
因為一切都是對象,開發者只需掌握操作對象的方法即可。
10、允許的方法簽名
允許真正的方法簽名,所以程序員可以有不同的參數列表或返回類型的同名方法。
- 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;
- }
- }
11、建立一個PHP虛擬機(PVM)
我不能完全肯定這是可能的,因為我不是一個語言設計師,但它會是不錯的一個PHP虛擬機。 它可以執行PHP字節碼,並允許一個明確的堆和堆棧。
12、刪除copy-on-write (COW)
COW是一個相當陌生的概念,,如果你不知道它的存在,以新的開發,就可能導致問題。
13、PHP官方發布規格
類似於W3C HTML5規范,PHP的規格將允許開發人員實現自己的PHP版本,並確保有具體的例子來編譯。
二、尊重語言
應努力使語言得到尊重。 我們應盡量招募開發者做出具有非常強大功能的PHP7。 我們應該釋放巨大的代碼的安全,易於閱讀,並教新的開發者以正確的方式編程。
我不知道Ruby的瘋狂,但我尊重Ruby語言。 我看到它的力量,我看在Ruby on Rails是一個非常好的框架,它只是我不是喜歡的。如果我們能獲得具有很好威望的開發商認可或尊重,PHP就會走的更遠。
三、尊敬開發人員
從上文的理解,我們需要一個非常德高望重的PHP開發核心團隊。 他們發布代碼,舉辦講座,向人們展示了“正確的方式”做事,這支團隊將很快的受到不少開發商的尊重。
結論
我興奮PHP的未來。 我很懷疑我的想法會被執行,但我真的相信他們會幫助整個社會。 我感到非常興奮,當 世界第二大的網站宣布,他們正在幫助PHP建立偉大的社區。 PHP是不會消失,他會越來越好,只要我們努力提高它,改善它,終有一天PHP會成為受開發者普遍尊重的語言。
最後,我不是一個語言設計師。 我的想法可能會被認為完全胡說。 如果我不正確的地方,請禮貌地讓我知道,我會很高興地談論它。 讓我們共同努力,使PHP成為備受尊重,功能強大,快速,高效的語言。編譯若有差錯,歡迎指正!