扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
1.why 动态语言?
现在的动态语言都已经很面向对象,和传统的用来写写外围脚本(测试,安装)的script语言已经不同,而且Groovy,Jython,JRuby写成的类除了动态载入外,都可以编译成静态的Java Class文件,所以已能很好的承担J2EE应用里业务类的角色了。
动态语言有什么好处呢,不用考虑变量类型算是一个,对于框架性的应用,类型的动态绑定非常实用,可以简省很多设计模式。
另外如Groovy强大的String类也是很吸引我的地方,支持多行,可以把EL嵌入在String里,而不是用丑陋的scanf。
2.哪种动态语言?
Jython总是若断若续,气若游丝的样子,而且现在都只移植到Jython2.1,比Python慢了几拍,不是很信得过。
而Ruby唯一不好是暂时没有好的IDE(连那个收费的ruby-ide都好弱),如果没有好的IDE,可以抵消掉大部分语言本身的优势,真不能想像Ruby On Rails是用怎么个UltraEdit级的编辑器写出来的。
Groovy比起两位舶来品,有一个天然优势是和Java的语法非常相似,把Java代码 copy到Groovy几乎不作什么改,团队的学习曲线比较低。
但它的IDEA插件同样没有完成,Eclipse的插件只有语法高亮,JSR-1版的离正式版还有段距离,而且JSR-2开发进度延后得比较厉害。
动态语言本身当然各有各的好,但现在选的是Java框架下嵌入哪种动态语言作为业务类。所以Python和Ruby强大的用户社群和已有项目不会有加分,而Groovy平滑的学习曲线和基本上一样的语法就显得比较吸引,毕竟团队里的成员大多不希望做一个项目里要同时handle两种语法差异较大的语言。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者