我們真的能沒有Java嗎?
原創(chuàng)【51CTO編譯】起初,在計算機資源還很缺乏的時候,接近于普通機器似的運轉還是可取的,但是當硬件資源變得更容易使用,并且開發(fā)時間變得重要,更高水平的語言必須出現(xiàn)。開發(fā)從C到C++,然后再到Java和C#,伴隨著這種趨勢,服務器的編制程序被類似PHP、Python、Per1和Ruby的語言所控。Java和C#在某些被稱為“真正的程序設計語言”和“腳本語言”中隱退。C#可以更多地被當做是微軟的代用品,適用于多種環(huán)境的Java與C#比較變得微不足道了。
自從Java許諾帶著獨立的平臺出現(xiàn)以來,它很快就流行開來。它既不是腳本語言也不是和在JVM上運行的字節(jié)代碼,所以JRE就像其他腳本語言需要一種引擎來翻譯一樣。Java當然就改變了我們看待真正的程序設計語言的方式。Java逐年變快,并在電腦系統(tǒng)上給予C++最大的挑戰(zhàn),Java在字節(jié)代碼的獨立平臺給人們對于腳本語言所擁有的自由。Java在瀏覽器、服務器和嵌入式系統(tǒng)上都有解決方案。
但是像每個優(yōu)秀技術一樣,Java當然也有一些自身的問題,當它涉及到瀏覽器時就不夠好了。雖然Applets和Java web Start是基于調配網(wǎng)絡應用系統(tǒng)而設計的一個好技術,但是不知為什么它運轉起來并不盡如人意。Applets很快成為一項過時的技術。但是Java的不幸并沒因此而結束,開發(fā)者還要面臨Java的圖形界面庫的問題。不管Sun在Java Toolkit的事情上多么努力。開發(fā)者們看上去絕不滿足于此。雖然Java swing Toolkit的大部分組件運轉完美,建立一個漂亮的開發(fā)前臺對于Java開發(fā)者還是個有些遙遠的夢想。
由于互聯(lián)網(wǎng)的激增,一系列關于服務器和客戶端的腳本語言伴隨著網(wǎng)絡應用系統(tǒng)開始開始受到歡迎。這些腳本語言開始掌控整個世界。雖然服務器腳本提供flavors PHP、Python、rarl、ASP等等,但是客戶端仍明顯被JavaScript所控制。當JavaScript涉及到開發(fā)網(wǎng)絡應用系統(tǒng)時AJAX的流行已將其推至最前沿。因為除Flash、Action、Script、HTML5等少數(shù)幾個技術之外的技術不能傳遞獨立執(zhí)行系統(tǒng)的客戶端,網(wǎng)絡應用系統(tǒng)的潛能被迅速開發(fā),以至于只有Flash、action、script、HTML5等被一些網(wǎng)站開發(fā)小組認為是僅能存活于客戶端的幾個技術,這些開發(fā)小組急需改變。所以能夠創(chuàng)造無痕接口并能在整個過程中和數(shù)據(jù)庫保持在服務器端的云計算剛好證實了這些。
云計算無疑有極大的好處,但是把它作為未來計算的最終辦法看上去卻不是明智之舉。如果我們說云計算是下一代計算,那么我們就表明我們的計算步驟將會分裂成客戶端的和服務器端兩類。我們正期待著一切都更加有效率,服務器和瀏覽器的processing時間的總和比客戶端所有processing的時間都短,現(xiàn)在這種假設在邏輯上是不太正確的。
此外,我們會保證服務器端的腳本語言絕不會比最快的客戶端的快。因此我們就不會摒棄完善Java、drain等語言的努力。當然,Java會以更多的形式存在,但嵌入瀏覽器,幾乎每一個從文字處理應用都會減慢我們的體驗,我們就會受到互聯(lián)網(wǎng)帶寬、腳本語言以及瀏覽器的制約。如果我們真的缺乏技術使效率變慢,這種趨勢是合理的。顯然,作為一個應用程序運行時,如一群人在社交網(wǎng)站,論壇等,引擎的瀏覽器是有利的應用程序處理的服務器上的信息共享和修改,但每一個嵌入到瀏覽器中應用程序的存儲數(shù)據(jù)都會飽和。因為有些人能夠獲得巨大的帶寬,我們不能剝奪其他人的真正的計算體驗,使每一個應用程序的硬件資源和計算能力都達到用戶良好的體驗和自己的要求。但是只是因為我們的語言的API和工具包沒有獨立開發(fā)平臺功能豐富的GUI阻礙了快速計算,這似乎就沒有道理了。于是我們要發(fā)展一個有引擎的瀏覽器,能運行所有的應用程序。但不同于現(xiàn)有的引擎,這會是一個GUI和執(zhí)行基本的計算,剩下的工作將委托給其他服務器引擎,它不同于真正的引擎,只有為JRE做好各項工作的能力。
只要繼續(xù)發(fā)展Java,容易開發(fā)、平臺獨立和高性能的Java API恰恰有創(chuàng)造各種桌面應用的潛力。不僅僅是桌面應用程序可以用來創(chuàng)建胖客戶端應用程序的執(zhí)行,也可以按客戶要求進行聊天交換數(shù)據(jù)計算、多人游戲等,執(zhí)行大部分客戶端和服務器端一樣的工作。
沒有Java的日子?我看還是算了吧!
原文地址:ezinearticles.com/?Can-We-Really-Do-Without-Java?&id=3691096
原作者:Rohit Pardasani
原文名:Can We Really Do Without Java?
【51CTO譯稿,非經授權謝絕轉載,合作媒體轉載請注明原文出處及作者!】
【編輯推薦】