星期五, 九月 22, 2006

我们需要动态语言因为它足够灵活

写了一段时间 JavaScript,感觉比写 Java 思维更开阔。虽然 JavaScript 提供了非常有限的 API,但是灵活的语法可以让人有更多的自由空间。

Java 的语法的确很死板,因为需要编译,并且是强类型的语言,所以类型问题经常能够困扰人。虽然也提供了 Hashtable/Map 之类的数据类型,但是严格的语法限制了人们发挥想象。

很多时候我们希望能够动态创建一些对象,因为对象的属性是未知的,这时候用 JavaScript 可以绝对的方便,当然我们还可以为这个对象添加额外的函数。

函数式编程可以有效的缩短代码长度,虽然 Java 也可以通过匿名类的形式模拟内嵌函数,但是对类型的依赖使得语法绝对不够灵活。

不需要明确声明类型有时候的确比较困扰人,但在很多场景中确是非常灵活的。JavaScript 灵活的类型使得整个编程模型异常简单,很多时候,我们只不过就是在几张变量符号表中操作操作而已,一切就是这么简单。

灵活的代价是缺乏规范,没有类型,没有接口,就需要良好的代码结构和文档来进行多人开发,这也是脚本语言开发的一个弊端。下面的一种方式我觉得很不错,从dojo里面看来得。
function swap(/* string */a, /* string */b) { .. }
或许有时候注释一下类型会让代码变得稍微清晰一点,当然了,多积累点单词,把函数、变量命名的易读一点才是正确的方法。

没有评论: