正 文

有可能挑战Java开发优势的四种技术


www.7dspace.com  更新日期:2005-12-9 3:46:49  七度空间


  Bruce Tate有令人惊奇的预见成功技术的记录。他是早期开发者中能预见Spring框架出现的一位;他在EJB3专家组放弃老的方法一年前的时候就预见了EJB2技术的消亡。在他的新书《Beyond Java》中,Bruce关注了语言和技术,这些将来有可能会在一些开发领域对Java的优势发出挑战。在这篇文章中,Bruce提及了四种新出现的重要技术。

  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                    //1
10.times do
  puts x2
  x1, x2 = x2, x1+x2         //4
end

  注意到在第一、四行同时声明两个变量,让你可以简洁地表达两种不同的声明形式。

  另外,注意到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;
    }
  }
}

3页,页码:[1] [2] [3] 

上一篇:微软提供了自行设计的工具来测试内存
下一篇:怎样向DB2的表中输入引号?
作者:Bruce A. Tate;lenovozhf  来源:matrix ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐