JVM救不了Java(轉載)

科技小能手發表於2017-11-12

面臨應用程式網路化的發展趨勢,我認為Java由於其設計架構上的弊端,在網站開發上將很難有大的作為。與此相反,以PHP為代表的動態語言則天生就適合網路的開發模式。

——Zend公司CTO Andi Gutmans

習慣和支援Java的人們,往往認為PHP和其他動態語言只屬於那些不懂程式設計的人——即使它是LAMP(Linux+Apache+MySQL+PHP)這一盛行的開源架構中的一員,也不能保證它有什麼前途。

然而,他們忽略了應用程式網路化的發展趨勢,這不僅包括媒體和電子商務網站,還包括CRM、ERP、報表和文件管理等。我認為,Java由於其 設計架構上的弊端,在這些領域會有些力不從心。與此相反,以PHP為代表的動態語言正是隨著上世紀90年代網路的井噴式發展而誕生的,它們天生就適合網路 的開發模式。一大批具有代表性的網站都是使用PHP進行開發的,如Wordpress、Drupal、mediaWiki、osCommerce、 SugarCRM等。

儘管很多Java廠商已經意識到網站開發的重要性,並開始努力,但它們始終都無法擺脫“強大”的語言特性帶來的限制——網路開發的總體成本居高 不下。現在,Java廠商主要依靠JVM(Java虛擬機器,Java的底層執行環境)來實現網路開發,它與Java配合得很好,也能夠一定程度上支援多語 言。然而,這種模式並未採用LAMP的鬆耦合模型,而是還想保住Java原有的優勢。這樣,它們通常不願意丟掉對客戶工作的控制權,並經常干預JVM所支援的動態語言。

儘管對手實力不容小覷,但我堅信市場的主流並不會改變,LAMP這一開源架構將依然盛行。這是因為:首先,主要的動態語言都有強大的開發者社群 作為支援,它們堅持不懈地改進這些語言的功能,而JVM永遠只能落後於這些事實上的標準;其次,由於JVM並不是專為動態語言而設計的,所以對於實際應用中不斷出現的問題,Java廠商還有很多完善工作需要做;第三,現代網站開發通常需要很強的可擴充套件性,因此,對系統的高強度訪問處理能力要求很高,這也與 JVM的設計初衷相沖突;第四,對應晶片的多核發展趨勢,使用多程式模式的動態語言,比使用多執行緒模式的JVM具有更好的穩定性和可靠性;最後,LAMP 架構使得開發者容易入門,但同時,它也適用於雅虎和Facebook這樣的大型網站。

總而言之,我認為動態語言將繼續是網路開發的標準。儘管JVM對動態語言的支援會吸引一些Java客戶,但它永遠無法阻止開源運動的潮流。

 本文轉自 dog250 51CTO部落格,原文連結:http://blog.51cto.com/dog250/1274001


相關文章