`
pupi
  • 浏览: 433804 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

动态语言碎碎念

阅读更多
动态语言很容易开发。
这一点好像大伙都已经认同了吧。ruby&rails的盛行,到groovy&grails的跟进,对开发效率的提升应该是主要的推动力。

前几天看了个pdf,摘录一个其中的例子,是用来过滤list中长度超过3的字符串的。相信大家能有更清晰的认识。

java版
import java.util.List;
import java.util.ArrayList;

class Erase {
	private List filterLongerThan(List strings, int length) {
		List result = new ArrayList();
		for (int i = 0; i < strings.size(); i++) {
			String s = (String) strings.get(i);
			if (s.length() <= length) {
				result.add(s);
			}
		}
		return result;
	}

	public static void main(String[] args) {
		List names = new ArrayList();
		names.add("Ted");
		names.add("Fred");
		names.add("Jed");
		names.add("Ned");
		System.out.println(names);
		Erase e = new Erase();
		List shortNames = e.filterLongerThan(names, 3);
		System.out.println(shortNames.size());
		for (int i = 0; i < shortNames.size(); i++) {
			String s = (String) shortNames.get(i);
			System.out.println(s);
		}
	}
}


groovy版
		def names = ["Ted", "Fred", "Jed", "Ned"]
		println names
		shortNames= names.findAll{ it.size() <= 3 }
		println shortNames.size()
		shortNames.each{ println it }		


groovy被称作新一代的java,更好的java不是没有道理的。

动态语言是弱类型的,不够安全。
这一点则是见仁见智。
弱类型的语言当然导致了编译器无法帮你发现因为类型导致的错误,也许还会让你的代码不够健壮。但是这样做却也较少你的代码的侵入性。大家也许会碰到有时候不知道该给一个变量什么类型的情况吧。有了弱类型的语言,你将不再有这样的烦恼,你不再需要定义一大堆接口来保持代码的适应性了。另外一方面,动态语言结合单元测试,也可以让你的代码足够安全和健壮。
2
0
分享到:
评论
4 楼 oijava 2008-02-22  
java版
		String[] ss={"Ted", "Fred", "Jed", "Ned"};
		System.out.println(Arrays.toString(ss));
		List<String> shortNames=new ArrayList<String>();
		for(String s:ss){if(s.length()<=3)shortNames.add(s);}
		System.out.println(shortNames.size());
		for(String s:shortNames){System.out.println(s);}
3 楼 dexter_yy 2008-02-20  
javascript:

for(var i=0,names=["Ted", "Fred", "Jed", "Ned"],shortnames=[],l=names.length;i<l;i++)if(names[i].length<=3)shortnames.push(names[i]);
2 楼 hushuo 2008-02-17  
动态语言是不是也包括了javascript呢?
如果这样的话,42.8%就不奇怪了。
1 楼 pupi 2008-02-16  
动态语言和静态语言孰优孰劣,有太多的讨论。javaeye就有不少。这也从另一方面说明了,他们各有大批拥趸。
下面是tiobe统计的动态语言和静态语言使用比例的数据,其中静态语言比动态语言领先15个百分点,考虑到动态语言只是近些年才开始被大量开发者接受,取得这样的比例已属不易。
当然,相比07年,08年静态语言的使用率并未下滑,说明其方兴未艾。相信,也有很多的开发者同时使用动态和静态语言的。

引用

Category 2008年2月 2007年2月
静态语言 57.2%         -0.2%
动态语言 42.8%         +0.2%

相关推荐

Global site tag (gtag.js) - Google Analytics