论坛首页 Java版

Groovy Notes

浏览 3844 次
锁定老贴子 主题:Groovy Notes
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2005-07-08
1.Groovy的最新八卦资料
1.1 wiki http://docs.codehaus.org/pages/listpages.action?key=GROOVY
1.2 mail list在线浏览,RSS订阅
Developer List http://dir.gmane.org/gmane.comp.lang.groovy.devel
User List: http://dir.gmane.org/gmane.comp.lang.groovy.user

2.Groovy开发现状
编译期健壮性大大增强的1.0 JSR-2已发布,仿Ruby的maxin功能等特性已经被放到1.1版本,当前的版本将全力除bug。

3.Migrating to JSR
JSR的最大改动主要两处,网上很多Groovy文章都是基于旧语法的,需要自行改正过来
3.1 为了加强代码健壮性,Class里的变量需要用def 定义, 而在script里的变量,因为需要动态binding,仍然不需要def定义.
3.2 多行的String需要用 """ """来括住,这个改动连simpleTemplateEngine在JSR2里都没有跟上.

4.Groovy and Java
GroovyC会把groovy文件编译成Java class bytecode。
其中Class会编译成GroovyObject的子类,script代码段会编译成Script的子类

1.GroovyObject类默认有get/setProperty()和invokeMethod()的反射接口
在Java里通过反射接口来调用。 如果是静态编译的可以直接调用Groovy类的方法。

2.Script类有Script(Binding)构造函数和run()接口
在java里通过run接口进行调用.

可以用GroovyC静态编译,也可以用GroovyShell把groovy文件动态parser成GroovyObject/Script类

Groovy和Groovy的框架类库都是用Java写出来的的.所以有些类库如SimpleTemplateEngine,也可以在Java里直接使用.

5.groovy-all-1.0-jsr2.jar
groovy需要asm和antlr包的支持,使用groovy-all-10-jsr2.jar,将预带这两个包的正确版本,非常省心.

6.groovyJ插件
IDEA插件,最有用的功能是编译Java文件目录的时候,会把groovy文件也同时编译,另外有语法变色和Run()功能.
日后将支持重构,类间跳转等功能。

7.一些重要的开发人员
两个Founder:Bob Mcwhirter (The Werken Company)
James Strachan (Core Developers Network)
三个ThoughtWorks的开发人员
Joe Walnes,Chris Stevenson,Matt Foemmel
四个star of this JSR-2:
Jeremy Rayner, Jochen Theodorou,和两位老大一起改进JSR-2编译的强壮性和出错信息显示
Franck Rasolo:IDEA插件GroovyJ的开发人员
Christian Stein:Groovlet,Template的开发人员

BTW. Grails--Groovy on Rails的倡导者: Steven Devijver

8.SimpleTemplateEngine-总共200行就实现了JSP engine的功能
动态语言开发框架很方便啊,所以Ruby on Rails没有IDEA级的IDE都能这么就快开发出来,把MVC,ORM都实现了一遍。
请看src/groovy/text/SimpleTemplateEngine.java
   
时间:2005-07-11
虽然我一直在用java,平心而论,groovy目前的版本和ruby还是差很多的, ruby的设计思想已经深入到他的基本类库和大量第三方类库中,写程序非常舒服,但是我试用groovy还是感觉到太多java的影子,写几个小test还可以,一旦要真的开始干活就觉得缩手缩脚的。 语法上是方便了一些, 不过用groovy我还是觉得我在用java思考,呵呵
ps一句:个人以为ruby这样的语言 ide是帮不了太多忙的,人家的思想就是很多东西都是运行时刻决定。
   
0 请登录后投票
时间:2005-07-11
1. 有java的影子不是坏事,java还没烂到需要全盘否定、砸烂了建立一个美丽新世界。
我觉得动态语言不会在短时间内完全替代静态语言,而更多的是两者互相融合。Groovy的做法对于降低降低学习曲线,重用旧代码都有好处,毕竟java 程序员与java 类库的数目都相当庞大。

可能你的意思是Groovy在做法上太相似于Java,没有动态语言的革新。
我觉得这不公平,语法上Ruby支持的Groovy基本上都支持,Maxin功能也会在1.1版本加入,所缺的可能仅仅是数量庞大的纯动态语言的基础类库而经常要借用Java的库,导致你觉得的不爽,比如Gails对Spring框架的大量借用也让我觉得有点不爽。
但假以时日,以Groovy在javaone的受欢迎程度和java社区的压倒性力量,这不难扳回。

2.所有忽视IDE作用的想法都很可能有失偏颇:)
   
0 请登录后投票
时间:2005-07-11
江南白衣 写道
1. 有java的影子不是坏事,java还没烂到需要全盘否定、砸烂了建立一个美丽新世界。
我觉得动态语言不会在短时间内完全替代静态语言,而更多的是两者互相融合。Groovy的做法对于降低降低学习曲线,重用旧代码都有好处,毕竟java 程序员与java 类库的数目都相当庞大。

可能你的意思是Groovy在做法上太相似于Java,没有动态语言的革新。
我觉得这不公平,语法上Ruby支持的Groovy基本上都支持,Maxin功能也会在1.1版本加入,所缺的可能仅仅是数量庞大的纯动态语言的基础类库而经常要借用Java的库,导致你觉得的不爽,比如Gails对Spring框架的大量借用也让我觉得有点不爽。
但假以时日,以Groovy在javaone的受欢迎程度和java社区的压倒性力量,这不难扳回。

2.所有忽视IDE作用的想法都很可能有失偏颇:)

groovy这个语言我也很喜欢。不过目前的不爽的地方是:
我用java大多数时间是要和各种各样的类库打交道, groovy有Closure, 很好, 不过有多少成熟的类库支持你用closure呢。我依然得一行一行的调方法, 和java没有什么两样。
和ruby比,java世界太大了,框架满天飞,各种script也不少,能不能把groovy扶上位,还是一个未知数。我相信, groovy能很大程度简化java开发,但是我相信用上了groovy的java开发和ruby-rails方式的开发相比,依然是两回事.
   
0 请登录后投票
论坛首页 Java版

跳转论坛: