PHP之父談java與php
大小:0.15 MB 人氣: 2017-10-10 需要積分:1
工作重心
我參與的項目總與用戶直接相關。我曾多年擔任雅虎工程師,負責連接數億終端用戶的基礎設施,這些基礎設置仍在服役。而如今,我在Etsy也是負責連接百萬用戶的后端基礎設施。技術其實只是解決問題的工具,是抽象的錘頭、鋸子,并沒什么了不起,而真正振奮人心的是用技術提升了百萬人的生活品質。
“問題”為指引
比起“計算機科學家”,“工程師”的稱謂更得我心。論這兩者的區別,我認為后者更專注于解決眼前的問題。之所以開發PHP,并非因為我喜愛編程或語言設計,反倒是因為不喜歡。1993年的那套編程把式,讓我沒法輕松迅捷地解決Web問題。于我而言,只有當遇到困難,才會翻翻書,查查資料來充實自己,技能不是為了提高而提高,我的每一個決定都是以解決問題為中心的。
經驗與教訓
我犯了很多錯,有些事后才意識到;但也取得過好于預期的成果。最重要的經驗是:解決Web問題的確應該從一開始就專注相關的整個生態系統。20年來,針對Web問題的解決方案層出不窮,而質量卻參差不齊,沒幾個能構建起完整的生態圈,并為普通人所用。
PHP 7何處費思量?
開發PHP 7那最后10%最費時,也最無趣。不過強大的新功能和性能突飛猛進,還是讓積極心態占了上風,也激勵了整個團隊,幫我們很快熬了過去。不過,每次更新都有做不完的測試、解決不完的平臺問題,調查不完的詭異邊緣情況,看不完的漏洞報告,沒個盡頭。
吸納新人
我知道前不久Emacs的版本控制系統從BZR換成了Git,不過對于吸納新貢獻者,我覺得它們其實平分秋色。Git近來更受歡迎,方便蜻蜓點水式的添磚加瓦。不過對于長期的忠實貢獻者,版本控制系統無關緊要。良好的文檔和方便新貢獻的流程才重要呢。
假如能重新設計PHP
假如時光能倒流,肯定有我希望能改進的地方,比如區分Keyword大小寫。剛開始PHP不過是種HTML模板語言。九十年代初,人們爭論HTML標簽是該大寫、小寫還是大小寫混合。我不想爭來爭去的,就把PHP的模版標簽做成不區分大小寫的,這個做法至今還在沿用。
Java在吞噬其他語言嗎?
PHP和Java的演進幾乎同步。我與Brendan Eich(Java設計者)是同一時期開始的,他的重心顯而易見是客戶端,而我則是服務器。如果你寫客戶端應用,除了Java,別無選擇——瀏覽器支持哪種語言就得用哪種;但如果重心是服務器就很不一樣了。
寫客戶端代碼者眾,所以會Java的人多,而如今它在服務器這廂也開花結果了。但Java跟PHP一樣只是解決方案之一,而非唯一,這樣挺好。就像我剛說的,語言只是解決問題的工具,不是受人膜拜的宗教。如果眼前有問題,而你更傾向于Java,那么它就是最佳選擇。
編程原則
只要有效、安全、夠快,就發布,然后解決下個問題。三者缺一不可,否則就要回頭檢查代碼,好抓緊時間解決下一個問題。
未來展望
關于編程語言,我還真沒想過這些工具未來會經歷什么,我更關心的是它們能否解決當下的問題。拿Etsy舉例,作為手工工藝品網站,它能在富有的買家和窮苦藝術家之間牽線搭橋,讓他們擺脫貧窮的窘境嗎?我們的基礎設施能幫助其他公司去應對同等重大的問題嗎?我們的解決方案是否強大到一轉眼客戶的問題就去無蹤了呢?這些才是我關心的。
過去,我不喜歡編程,現在還是不咋喜歡。我只喜歡以解決問題為中心,這點永遠不變。
?
非常好我支持^.^
(0) 0%
不好我反對
(0) 0%