在某種程度上,JVM上出現(xiàn)多種語(yǔ)言共存是件好事,一個(gè)工具不可能適用所有需求。我們不能指望Java在GUI方面足夠好;就像C語(yǔ)言一樣,Java從來(lái)都不是為了開(kāi)發(fā)動(dòng)態(tài)Web應(yīng)用而設(shè)計(jì)的,但我們還是嘗試使用JSP、JSF和大量的框架來(lái)對(duì)抗PHP、Rails和Python在Web上的生產(chǎn)力。好在Java對(duì)平臺(tái)細(xì)節(jié)和內(nèi)存管理的抽象層次足夠高。這些基于JVM的新語(yǔ)言在各自的領(lǐng)域內(nèi)也隨之可以更進(jìn)一步的抽象。
在不遠(yuǎn)的未來(lái)我們將會(huì)看到,我們的項(xiàng)目中,并行進(jìn)程用Clojure編寫,展示層使用Jruby/Rails,中間層是Java。每個(gè)應(yīng)用層都將使用不同的編程語(yǔ)言實(shí)施,然而,接口對(duì)每一層的開(kāi)發(fā)者都是透明的。這是個(gè)大事,客戶端和服務(wù)器將使用不同的運(yùn)行時(shí)和編程語(yǔ)言,在之前的Java平臺(tái)上前所未有。
這對(duì)于Java開(kāi)發(fā)者意味這什么呢?
◆對(duì)于Web開(kāi)發(fā)者而言,你將要學(xué)習(xí)很多與Struts、JSF、JSP不同的東西,我們的開(kāi)發(fā)不再是model1、model2和MVC。
◆對(duì)于非Web開(kāi)發(fā)者而言,你所寫的代碼可讀性將更強(qiáng),并且可以采用上面所提到的任何一種語(yǔ)言來(lái)打造適合你項(xiàng)目的DSL;而且,你無(wú)需擔(dān)心偶爾的復(fù)雜性以及框架會(huì)影響到你的項(xiàng)目。
Java平臺(tái)開(kāi)發(fā)者的生活(或履歷)將會(huì)改變,他們將興奮于現(xiàn)在不只一種編程語(yǔ)言可以使用,而不是只有框架。我從來(lái)不認(rèn)為Java語(yǔ)言將走向滅亡,不是因?yàn)楝F(xiàn)存的大量API庫(kù)是使用Java編寫的,而是因?yàn)榈厍蛏现繨ava的程序員太多了。工具支持Java、本地JVM支持Java(譯者注:指運(yùn)行在JVM上的基礎(chǔ)軟件)。Java會(huì)像C語(yǔ)言一樣,你能做的任何事都將被潛在的支持,成為一個(gè)基礎(chǔ)平臺(tái)。
聯(lián)系客服