為什麼 Facebook 不使用 Java 架構?使用 Java 與 PHP 架構相比有哪些優勢和劣勢?

來源:互聯網
上載者:User

回複內容:

因為PHP是指令碼語言,而Java是編譯型語言。
大型互連網系統核心問題是scale(擴充,尤其是水平擴充),scale不是一門語言解決的。所以我們會關注這些系統的架構。Facebook主要是一個內容型系統加上訊息型系統,它主要面臨的問題是資料存取和訊息傳遞,這些部分都和“前端(廣義)”無關。
因為核心的問題和“前端(廣義)”沒有直接關係,是一個獨立的問題。所以邏輯是:
  1. Founder使用什麼語言;Founder的關係網路裡使用哪種語言多。這兩個因素第一。
  2. 指令碼語言在測試和部署上面有更快速的周期,生態鏈更加簡單。
  3. Java的JDK雖然是火箭技術,不過它的授權從來就是問題,很大影響了整個技術桟的選擇。
這些因素考慮下來不用Java是理所應當的,使用其它指令碼語言是碰巧發生的一種可能。語言問題對facebook這種層級的公司,不能說不重要,但他們考量的標準肯定跟我們平常做個項目時不一樣。facebook有大量優秀的工程師,可以在語言層級改造php。並且,據說php對facebook來說就是膠水語言。
j2ee的優勢在於能讓大量低水平工程師協同開發出一個還能用的系統。其它語言沒在實際開發過項目,不好評論。
總的感覺是,facebook的水平導致了他們採用什麼語言都能完成開發目標,對於一般公司來說,做企業級開發用j2ee或者.net仍然是比較好的選擇。想敏捷的話,用php或python好一些。因為項目開始的時候作者擅長php,問問哪個項目不是這個原因,其他解釋說法都是自己意淫1. facebook 使用php
2. facebook 開發了HipHop,效能大大提高
3. 資料庫的分布式架構好,使用者登入驗證表就倆欄位,其他全部拆分出去了
4. 還有其他的 應該是用C/C++ 完成的

PHP本身就是為互連網開發而出現的語言,非常適合Web開發,且類庫非常豐富,開發效率非常高,且執行效率也非常不錯。
java本來是為嵌入式裝置設計的語言,開發Web還是略顯笨重,其實大多數的互連網公司都是用PHP的。這兩年Android開發又培養了不少做java開發的人。

相比較而言,java的可維護性要比PHP好,java代碼的可讀性也比PHP強,看到一堆的$符號實在有些暈啊。php架在前端 後端用了一些java和c++FB肯定不是PHP的,PHP最多算是個表皮
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.