<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>源碼下載>java源碼下載>

PHP之父談java與php

大?。?/span>0.15 MB 人氣: 2017-10-10 需要積分:1
 “PHP之父”Rasmus Lerdorf性格直接坦蕩,措辭簡練精辟,字里行間透著一股“務實至上”的精神氣。在參加“PHP全球開發者大會”前夕,這位“實干家”接受了《程序員》采訪,分享了自己的編程感悟。
  
  工作重心
  我參與的項目總與用戶直接相關。我曾多年擔任雅虎工程師,負責連接數億終端用戶的基礎設施,這些基礎設置仍在服役。而如今,我在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%

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
      <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
      <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
      <acronym id="s8ci2"></acronym>
      <acronym id="s8ci2"><center id="s8ci2"></center></acronym>