<dfn id="is4kg"></dfn>
  • <ul id="is4kg"></ul>
  • <abbr id="is4kg"></abbr>
  • <ul id="is4kg"></ul>
    <bdo id="is4kg"></bdo>
    以文本方式查看主題

    -  曙海教育集團論壇  (http://www.hufushizhe.com/bbs/index.asp)
    --  JAVA語言開發  (http://www.hufushizhe.com/bbs/list.asp?boardid=64)
    ----  討論有可能挑戰Java開發優勢的四種技術  (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=64&id=2457)

    --  作者:wangxinxin
    --  發布時間:2010-12-11 9:33:09
    --  討論有可能挑戰Java開發優勢的四種技術
    Java是一種杰出的產業開發語言,這是因為它帶來了偉大的統一和對事實上以前并不存在的重要標準的關注。但是和所有語言一樣,Java將來也會褪色。依據我做的超越Java的研究,一個重復出現的主題是有越來越多的人相信Java已不再足夠的有效率。以下一組技術可以使你更有效率。他們不是對所有的工程都適合,但當被應用于適合的工程時,他們是優秀的工具。

      1.動態語言

      動態語言可以比像C++或Java這樣的靜態語言更加有效率。他們可以讓你用更少的語言表達更多的意思。這里,我會關注現在新出現最流行的動態語言Ruby。用Ruby的"Hello, World"和Java的作一個比較:

      puts "Hello, world."

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

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

      在Java中,類型是靜態的。這就代表了編譯器要檢查所有的類型;你必須建立和編譯一個完整的程序。在Ruby中,類型是動態的,所以你不需要去聲明他們,你可以馬上編寫和運行他們。下面是用兩種語言描述的Fibonacci 序列:

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

      注意到在第一、四行同時聲明兩個變量,讓你可以簡潔地表達兩種不同的聲明形式。

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

      Ruby代碼塊可以讓你把代碼塊傳入方法。。這種技術導致了難以置信的效率和簡潔的代碼。

      接下來,看一看用Java實現的代碼:

      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; } }}

      你需要去聲明所有的變量,以及詳細地寫出來你用for循環實現的迭代。每個變量都是獨立的,所以你必須有一個臨時變量用于存放total。

      相比,動態語言更為簡潔。按照一個普通的規則,如果你可以寫更少的代碼而不犧牲可讀性,這些代碼將導致更高的效率。

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

      更為重要的是,動態語言在Java開發者想要去解決的重要問題上表現得更好,如: 元編程。 Hibernate 使用元編程技術使對象持久化。

      Spring使用元編程來為Java對象增加服務,而免除你為他們構建額外支持的煩惱。在Rails框架上,當紅的Ruby利用了自己能力來構建某種已存的

      最有效率的應用開發框架。

      令人驚訝的是,許多Java開發者采用了Ruby。Ant和Tomcat的發明者James Duncan Davidson正在Rails上使用Ruby,以及Java的暢銷書作者之一,JSP專家組的

      成員David Geary正在寫一本關于Rails上的Rub的書y。許多在Java社區里有著聰明思想的人都轉向使用像Ruby一樣的動態語言。這是因為這種新出現的語言能更好的解決最有興趣的問題。動態語言將不會完全取代Java,但是他們會適合于解決小的,輕量級的問題。


    主站蜘蛛池模板: 无翼乌漫画全彩| 日本日本熟妇中文在线视频| 日本精品www色| 亚洲色大成网站www永久| 老扒夜夜春宵粗大好爽aa毛片| 91精品视频播放| 精品少妇人妻av一区二区| 国产精品久久国产精麻豆99网站| 中文字幕乱理片免费完整的| 日韩精品视频美在线精品视频| 人妻有码中文字幕| 精品国产乱码久久久久软件 | 跪着侍候娇吟羞辱鞭打| 国产精品视频久久久久久| 一进一出动态图| 无码国产乱人伦偷精品视频| 亚洲一成人毛片| 欧美成视频在线观看| 再深点灬舒服灬太大了老板| 美女视频黄a视频全免费网站一区| 国产永久免费观看的黄网站 | sss欧美一区二区三区| 成人在线不卡视频| 久久精品夜色噜噜亚洲A∨| 欧美三级在线免费观看| 亚洲高清日韩精品第一区| 福利在线一区二区| 国产一区二区视频在线观看| 阿v网站在线观看| 国产福利在线视频尤物tv| 99热这里只有精品免费播放| 天天躁日日躁成人字幕aⅴ| 丰满亚洲大尺度无码无码专线| 日本网站在线看| 亚洲中文字幕无码专区| 欧美国产日韩a在线视频| 亚洲视频在线观看免费| 特级黄色一级片| 午夜时刻免费实验区观看| 美女扒开尿口直播| 国产剧情在线视频|