国产九九热视频-国产九九精品视频-国产精自产拍久久久久久蜜-国产精自产拍久久久久久-国产精在线-国产精亚洲视频

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.hkzrsy.com/bbs/index.asp)
--  JAVA語(yǔ)言開(kāi)發(fā)  (http://www.hkzrsy.com/bbs/list.asp?boardid=64)
----  討論有可能挑戰(zhàn)Java開(kāi)發(fā)優(yōu)勢(shì)的四種技術(shù)  (http://www.hkzrsy.com/bbs/dispbbs.asp?boardid=64&id=2457)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-12-11 9:33:09
--  討論有可能挑戰(zhàn)Java開(kāi)發(fā)優(yōu)勢(shì)的四種技術(shù)
Java是一種杰出的產(chǎn)業(yè)開(kāi)發(fā)語(yǔ)言,這是因?yàn)樗鼛?lái)了偉大的統(tǒng)一和對(duì)事實(shí)上以前并不存在的重要標(biāo)準(zhǔn)的關(guān)注。但是和所有語(yǔ)言一樣,Java將來(lái)也會(huì)褪色。依據(jù)我做的超越Java的研究,一個(gè)重復(fù)出現(xiàn)的主題是有越來(lái)越多的人相信Java已不再足夠的有效率。以下一組技術(shù)可以使你更有效率。他們不是對(duì)所有的工程都適合,但當(dāng)被應(yīng)用于適合的工程時(shí),他們是優(yōu)秀的工具。

  1.動(dòng)態(tài)語(yǔ)言

  動(dòng)態(tài)語(yǔ)言可以比像C++或Java這樣的靜態(tài)語(yǔ)言更加有效率。他們可以讓你用更少的語(yǔ)言表達(dá)更多的意思。這里,我會(huì)關(guān)注現(xiàn)在新出現(xiàn)最流行的動(dòng)態(tài)語(yǔ)言Ruby。用Ruby的"Hello, World"和Java的作一個(gè)比較:

  puts "Hello, world."

  這顯然既簡(jiǎn)單又明了。你不需要寫(xiě)一些其他的代碼去做這件事。下面是用Java語(yǔ)言的描述:

  class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!") }}

  在Java中,類(lèi)型是靜態(tài)的。這就代表了編譯器要檢查所有的類(lèi)型;你必須建立和編譯一個(gè)完整的程序。在Ruby中,類(lèi)型是動(dòng)態(tài)的,所以你不需要去聲明他們,你可以馬上編寫(xiě)和運(yùn)行他們。下面是用兩種語(yǔ)言描述的Fibonacci 序列:

  First, Ruby:x1, x2 = 0, 1 //110.times do puts x2 x1, x2 = x2, x1+x2 //4end

  注意到在第一、四行同時(shí)聲明兩個(gè)變量,讓你可以簡(jiǎn)潔地表達(dá)兩種不同的聲明形式。

  另外,注意到10是一個(gè)對(duì)象,它支持方法,如:times。再另外,在do和end之間是一個(gè)代碼塊。

  Ruby代碼塊可以讓你把代碼塊傳入方法。。這種技術(shù)導(dǎo)致了難以置信的效率和簡(jiǎn)潔的代碼。

  接下來(lái),看一看用Java實(shí)現(xiàn)的代碼:

  class Fib { public static void main (String args[]) { int x1 = 0; int x2 = 1; int total = 1; for (int i=0; i<10; i++) { System.out.println(total); total = x1+x2; x1 = x2; x2 = total; } }}

  你需要去聲明所有的變量,以及詳細(xì)地寫(xiě)出來(lái)你用for循環(huán)實(shí)現(xiàn)的迭代。每個(gè)變量都是獨(dú)立的,所以你必須有一個(gè)臨時(shí)變量用于存放total。

  相比,動(dòng)態(tài)語(yǔ)言更為簡(jiǎn)潔。按照一個(gè)普通的規(guī)則,如果你可以寫(xiě)更少的代碼而不犧牲可讀性,這些代碼將導(dǎo)致更高的效率。

  (但是你不可以犧牲可讀性來(lái)達(dá)到這一步,我們可以以Perl舉例作為結(jié)尾。)

  更為重要的是,動(dòng)態(tài)語(yǔ)言在Java開(kāi)發(fā)者想要去解決的重要問(wèn)題上表現(xiàn)得更好,如: 元編程。 Hibernate 使用元編程技術(shù)使對(duì)象持久化。

  Spring使用元編程來(lái)為Java對(duì)象增加服務(wù),而免除你為他們構(gòu)建額外支持的煩惱。在Rails框架上,當(dāng)紅的Ruby利用了自己能力來(lái)構(gòu)建某種已存的

  最有效率的應(yīng)用開(kāi)發(fā)框架。

  令人驚訝的是,許多Java開(kāi)發(fā)者采用了Ruby。Ant和Tomcat的發(fā)明者James Duncan Davidson正在Rails上使用Ruby,以及Java的暢銷(xiāo)書(shū)作者之一,JSP專(zhuān)家組的

  成員David Geary正在寫(xiě)一本關(guān)于Rails上的Rub的書(shū)y。許多在Java社區(qū)里有著聰明思想的人都轉(zhuǎn)向使用像Ruby一樣的動(dòng)態(tài)語(yǔ)言。這是因?yàn)檫@種新出現(xiàn)的語(yǔ)言能更好的解決最有興趣的問(wèn)題。動(dòng)態(tài)語(yǔ)言將不會(huì)完全取代Java,但是他們會(huì)適合于解決小的,輕量級(jí)的問(wèn)題。


主站蜘蛛池模板: 隆林| 西峡县| 郧西县| 巩义市| 启东市| 康保县| 高清| 松滋市| 泰来县| 齐齐哈尔市| 厦门市| 宁武县| 博罗县| 象山县| 图片| 太康县| 通州市| 岚皋县| 虹口区| 开封县| 荣昌县| 岑巩县| 广宗县| 马鞍山市| 修文县| 甘谷县| 柯坪县| 社会| 清新县| 伊金霍洛旗| 霍林郭勒市| 伊宁市| 常宁市| 蒙城县| 曲水县| 定远县| 利津县| 大冶市| 建始县| 屯昌县| 建始县|