Facebook 為什麼採用 PHP 作為 webend 主要的開發語言?

來源:互聯網
上載者:User
一個網站採用哪種開發語言的背後可能總有些很另類的原因。 其實用什麼語言只有技術人員比較關心,但也是個值得一說的話題。

回複內容:

這應該是曆史原因,任何巨頭都是從小長大的。
FaceBook 的 PHP 屬於粘結劑語言,並且轉成 C++ 執行。

並且正如 Facebook 工程師所言 架構,類庫 遠比用什麼語言重要。 1. PHP 是專門面向 HTTP Server Side 的語言
2. PHP 寫的不錯,文法解析器什麼的很精簡高效
3. PHP 開銷低,不像Java 每次必須弄個虛擬機器,非常適合HTTP.
4. 用的人多,開發人員好找 Flickr 的 Cal Henderson 這句話就能說明了: "Languages's don't Scale, Architecture Scale"
實際上選擇一門語言並沒有為什麼,再mark寫facebook的時候他最熟悉php,他能用php解決facebook所需要解決的一切問題,那麼就選擇它啊。
而且事實證明,php確實適合做webend開發。
當然更重要的是,在那個時代,geek們都是用php寫網站的。
至於編譯成c++什麼的,那是fb發展都後面效能要求越來越高才不得已發明出來的解決方案,跟選擇什麼語言沒有關係。
  1. 工程師好找
  2. 學習成本低
  3. 更靈活
FaceBook 的 PHP 其實主要用在前端表現層,應該不能簡單的說是主要開發語言。 我想FB最初並沒有多少選擇,選什麼語言取決於:1.創初人的技術背景2.可以快速高效搭建原型3.有後續技術跟進,例如:找PHP開發人員相對容易。當然FB走到一定規模,就算是想換也不是那麼容易了,更多的是妥協與折中吧。 FB之前確實是使用的HipHop 將 PHP 代碼在伺服器上被執行前轉化成 C++ 代碼,在網站原來的基礎上提升了 500% 至 600% 的流量處理,但這遠遠不夠,後來他們不再將 PHP 代碼轉變成 C++ 代碼,而是將它直接轉變為原生電腦代碼(伺服器晶片讀取的語言),而且在 PHP 代碼被執行時直接轉化。通過追蹤網站即時執行代碼的方式,他們可以用更好的方式將 PHP 代碼轉變成原生電腦代碼,最終提升網站的處理速度這是曆史遺留問題。Facebook是當年紮克伯格在大學時候用幾天寫出來的內部網站,肯定沒有考慮到幾十億人同時使用的問題。

在把PHP作為開發核心語言的問題上,Facebook吃盡了苦頭,PHP的架構問題已經不是Framework之類能夠解決的了。但是木已成舟,這麼龐大的系統,龐大的僱員,完全遷移到另外一種語言上已經不太可能。所以在Facebook做HipHop先行編譯的努力之後,又開始做HipHop JIT解析器的努力。這篇文章對於技術詳情介紹得很仔細 HHVM 是如何提升 PHP 效能的? 曆史原因! 曆史原因,他們後悔了。現在進去的都在用python呢 因為開源,LAMP是現在最流行的黃金搭配,因為php用起來簡單,不過越容易用的腳步就越耗記憶體,比如php,js這些遠沒有原生的C/C++啟動並執行快。facebook的php架構分了很多層,為了運行效率,他們也在php轉化為C這方面花了很多功夫。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.