ruby生成java代码 ruby encode( 五 )


3、ruby的block,closure VS Java的匿名内部类大家对spring的Template肯定印象很深刻,但是这是ruby标准的用法,所以各种资源释放,异常处理在语法级别上就支持的很好,做起来很简单 。
4、ruby的Meta programming VS Java缺乏method_missing机制大家耳熟能详了,Java没有这么强的Meta programming,很多ruby magic耍不出来 。
5、脚本语言 VS 编译语言这也是一个很大的优势,脚本编程速度确实快 。
二、rails框架确实做的很棒
1、full-stackrails是一个概念一致的fullstack框架,不知道为什么,在Java世界目前只有Rife这一个可以和RoR相提并论的fullstack框架 , 但是Rife的实现并不好(作者从PHP转过来的 , 和DHH爆发过口水战) 。不过因为底层语法支持的不同,用Java是做不出来RoR框架的 。因此也有人用Groovy做Grails,不过这帮人不太争气 。
2、CoC这个不用说了,现在很多Java框架开始吸收这一点 。
3、为web开发良身打造web开发需要用到各种技术全部提供,绝对的贴心,如果用Java , 这些东西都需要自己集成或者自己实现,省了一大堆麻烦事 。
4、开发测试部署快速这个不说了,Java劣势太明显了关于“效率提高的来源”问题,我的理解就是次要复杂性被ROR降低到了极致 。说的难听一点 , 不是ROR太聪明,而是我们以前做得蠢事太多了 。
各种各样的xml, taglib , 单元测试困难 ... ...做过项目的人都知道这些次要复杂性很多情况下真的是要命的 。ROR没有降低软件的内在复杂性,也就是业务问题 。但是它把复杂性降低到无限趋近于业务复杂性,也有人称ROR是Web开发的DSL 。而解决业务问题正是人发挥聪明才智的地方,ROR不能代替人,但是它把人从次要复杂性的泥潭之中解救了出来 。
参考资料:南京赛威信息科技
关于RubyRuby on Rails是一个用于编写网络应用程序的框架,它基于计算机软件语言Ruby,给程序开发人员提供强大的框架支持 。Ruby on Rails包括两部分内容:Ruby语言和Rails框架 。
什么是Ruby?
Ruby 语言是一种动态语言,它与Python、Smalltalk和Perl这3种编程语言有些类似 。Ruby语言起源于日本,它的研发者是日本人松本行弘(Matsumoto Yukihiro) 。松本行弘在1993年开始着手Ruby语言的研发工作,他开发Ruby语言的初衷是为了提高编程的效率 。1995年12月Matz推出了Ruby的第一个版本Ruby 0.95 。
Ruby语言的主要特点如下 。
1.纯的面向对象语言
在Ruby中,一切皆是对象 。下面举一个例子来更直观地说明Ruby语言的这一特点 。
在Java中,求一个数的绝对值的代码如下 。
int c = Math.abs(-20);
而在Ruby语言中,一切皆是对象 , 也就是说“-20”这个数也是一个对象 , 因此,求一个数绝对值的Ruby代码形式如下 。
c = -20.abs
这样的代码编写方式是不是更形象一些呢?
2.解释型脚本语言
Ruby 语言是解释型脚本语言 , 它既有脚本语言强大的字符串处理能力和正则表达式,又不失解释型语言的动态性 。一方面,在最初设计Ruby语言时,Ruby的研发者松本行弘考虑到文字处理方面的需要 , 他借鉴了Perl语言在文字处理方面的成功经验 。另一方面 , 松本行弘将Ruby语言设定为一种解释型语言,Ruby 的动态性使得由Ruby语言编写的程序不需要事先编译即可直接运行 , 这为程序的调试带来了方便 。同时,这一特点可以实现开发过程中的快速反馈 。
3.其他特点
(1)动态载入 。可以在运行时候重定义自己 , 类也可以在运行时继承或取消继承 。

推荐阅读