动态语言很容易开发。
这一点好像大伙都已经认同了吧。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不是没有道理的。
动态语言是弱类型的,不够安全。
这一点则是见仁见智。
弱类型的语言当然导致了编译器无法帮你发现因为类型导致的错误,也许还会让你的代码不够健壮。但是这样做却也较少你的代码的侵入性。大家也许会碰到有时候不知道该给一个变量什么类型的情况吧。有了弱类型的语言,你将不再有这样的烦恼,你不再需要定义一大堆接口来保持代码的适应性了。另外一方面,动态语言结合单元测试,也可以让你的代码足够安全和健壮。
分享到:
相关推荐
一开始,这只是我给自己的一个挑战,练习使用更多的语言特性来替代我从其他编程语言那里所学到的。但是事情渐渐变得更有趣了!代码不止变得更简短整洁,而且看起来更加结构化和有规律,在这篇文章中我将更多地介绍...
大班语言-唐僧骑马咚哩个咚.docx
Python语言程序设计教学大纲.docx
《大自然的语言》微课教学设计.docx
青书学堂VB语言程序设计(专升本)2020考试题.docx
quartus II 软件做4的位乘法器设计(vhdl 语言).docx
计算机语言.docx
大班语言活动妈妈.docx
大班语言-帆船.docx
各种语言时间戳转换方法.docx
如何有效的学习大数据语言.docx
大自然的语言教学设计.docx
Scratch编程语言简单好学吗?.docx
幼儿园语言文字工作制度复习过程.docx
图书管理系统设计-ASP语言毕业设计.docx
基于java语言的网络聊天系统开发与实现.docx
最流行的编程入门语言python高手学习笔记.docx
少儿编程,选择哪种语言比较好?.docx
python语言经典基础级案例(含源代码).docx
01_python_(python语言与numpy库).docx