@ZEAL Blog·厉
We stand alone,
TOGETHER.

Java/Ruby实战对决

Posted by zeal on 2005-10-09 18:24 , 1903 characters, 1 pictures , Via |  + 0 - 0   English
转载请保留本行原始出处声明信息 : http://www.zeali.net/entry/194 MaDe1nZEAL
Ruby到底有多简洁? shawn给出了一个Java和Ruby的代码实现对比示例。孰优孰劣,大家见仁见智了。

函数实现对字符串按照指定的格式进行格式化输出。比如:

执行: fmtString("(###) ###-####", "1234567890")
输出: (123) 456-7890

Java的函数实现

String fmtString(String format, String number)
{

  if(number != null) {
    int j=0
;
    StringBuffer outStr
= new StringBuffer();
    for(int i=0; i<pattern.length(); ++i) {
      if (pattern.charAt(i) == '#') {
        if(j <
in.length()) {
          outStr.append(in.charAt(j));
          j
++
;
          }
      }

      else
{
        outStr.append(pattern.charAt(i));
      }
    }
    System.out.println(outStr.toString());
  }
}

Ruby的函数实现

def fmtString(format,number)
  format.split('').each {|c| print(c=='#' ? number.slice!(0,1) : c) }
  print "\n"
end

Books of ruby and java
  Ruby的代码实现看上去确实很美。实际上Java与Ruby之间的flamewar并不是什么新鲜事,但谁也不敢说绝对强过谁。Ruby on Rails拥有太多让人兴奋的特性,然而一种新的语言框架要想真正成为主流,不仅仅是技术层面上的问题。曾几何时,Java也是被拿来和C/C++、C#等等来做对比的对象。只有在像IBM这样的巨头们开始力推Java之后,J2EE才逐渐成为企业应用的首选。RoR在成为The One之前,还有很多的事情需要去完善。诚如blogdriver所说的:“走的人多了,也便有了路,技术上的东西也是,其实本没有那种东西就好,用的人多了,它自然会发展成功。速度不是问题,关键是RUBY ON RAILS提供了一种快速的网站开发方法,使得将来只要你有想法,你就能很快的把它实现,使得我们可以把主要的精力放在创造想法和满足需求上。”看看这张图片,Java方面的技术书籍摞起来厚厚一叠;RoR呢:一本Ruby、一本Rails。你可以认为这是由于Java广泛的群众基础的缘故,也可以看作是RoR简洁化的优势所在――毕竟开发人员要成天背着这么一打书实在不是什么开心的事情。

Last Modified on 2007-05-25 23:06
4 条评论:
- chunzi () (link) 于 2005-10-15 10:33
给出 Perl 版本的实现,可以比较看看:

sub fmtString() {
my ( $format, $number ) = @_;
map { $format =~ s/#/$_/ } split(//, $number);
print $format;
}
- 随便2005-11-24 14:53
仅仅凭一个正则表达来否定java,是很不科学的。java最新版本中也有正则表达方面的类。
另外,python比起ruby一点也不差,一样简洁,而功能强大得多,只是比较少用在web开发上。
- zzz2007-12-05 15:47
书少只能说明ror资源少
楼主太片面了
仅仅凭一个正则表达来否定java,是很不科学的。
- eric0cn () 于 2009-05-13 17:53
void fmtString(String format,String number){
int ii=0;
for(char c:format.toCharArray()){
System.out.print(c=='#'?number.substring(ii, ++ii):c);
}
}
Since 2005.04.27  梦想 就像鸡蛋 要么孵化 要么臭掉RSS Feed (Entries) | Back To Home | @ZEAL | 沪ICP备05024379号