说实话,我对语言的要求很简单,就是能让我把手头的活赶紧完成,而且一些常见的任务能缺省支持就行了,而且不要太难学。
自从遇到Groovy和Grails之后,现在它们基本上是我的首选了,原因很简单,以前花很多工夫做的事情,现在可以很快地就用它们搞定。而且,就像前端工具,我现在也倾向于用Tibco
GI一样,原因也正是于此。因为我主要开发的是企业内的应用,因此,浏览器的兼容性要求并不高。而GI可以快速构建页面,再加上Ajax+Json+Grails把一些页面状态管理什么的都减少到最低,因此,我现在觉得,前端使用GI,后端用Grails再辅以相应的其他工具(如jBPM或Drools),开发一个较为复杂的应用不会太难了。我至今还对当初第一次开发Web应用时,当时直接就用JSP采用Model
2的方式,为了维护页面状态那个费劲……。换到Struts之后,情形相对好了些,但还是有些问题比较麻烦,如所谓的“联动选择”。最后全部改成Ajax之后,情形相对好多了,呵呵。
对于自己的坑,Alex的回答是“All”,全部都是,题外话:这跟没说一样,呵呵。
对于Scala,前一阵,我看过一点资料,感觉语法太乱了(个人意见,呵呵)。我呢,也不是静态语言的坚定支持者,至于并发,在Groovy中也有GPar了,所以可能不大会主动学习Scala了,呵呵。不过,我一直对Lisp这样的语言有兴趣,或许等我忙过这一阵子,是不是考虑学习一下Java平台下的Lisp方言,同样也对并发有支持的Clojure呢?呵呵。
不过光看相关书籍的厚度,Clojure倒是薄了不少呢……