about RoR

下载了大名鼎鼎的ruby,以及InstantRails安装包.写了几个类似helloworld的东西.不能说了解ruby了,只是有了一点体验.

ruby号称完全面向对象,语言无比强大,写法无比自由,开发效率比java快10倍,这些我还没什么体会.ruby on Rail的这几个特性我还是比较有认同感的:

1:CoC(Convention over Configration),以约定代替配置,以规律代替数据.大家遵循一些容易理解,容易共识的规律来命名,定义,和布置目录和应用,不需要书写开始简明但越来越膨胀的xml.(虽然还有少量的yml配置)

2:基于CoC的FullStack Web应用,从数据到视图一揽子解决方案,都通过简单一致的规则呈现为可用框架,并可以通过可定制式介入进行个性化扩展

3:适度偷懒的工具,通过命令行生成dao/bo等框架代码,大量减少代码编写工作量.如对CRUD的重复编程.

暂时先这么多.

某种程度上RoR确实表现出一种比较清新的smell.但是否有那么强大,那么杀手,那么让人顶礼膜拜,我到不觉得.

语言(包括相应的框架),说到底都是工具,趁手就好.拿工具说事儿没意思.再强的语言也没C/C++强,再快的语言也没汇编快,要更快,做DSP,做芯片...在web开发这个级别上,很多人都在做着类ruby思路的事情,大规模的提高效率,减少工作量.对于一个有经验的,工作习惯不错,代码风格良好的软件工程师来说,他可能早就在自己熟悉的语言(Perl,PHP,python,java...etc)范畴下积累了很多可以信手拈来的SDK,class,tools等.我在最近的这个php项目(非纯web)里,也基本做了从数据库到bo到业务控制到视图的,基于规则工具式实现,某些地方和RoR异曲同工.相对来说,在脚本语言功能没有本质区别的情况下,换个语言(框架)这种事情,学习曲线带来的工作量比起写代码的工作量是相对可观的,语言(框架)带来的性价比相应的就更低了.

不说java/python,单说php也有其优点,如支持广泛,运行效率高等.一句话,没有杀手级的语言,只有杀手级的执行力 .

话说回来,对于新的,有价值的东西,至少是有学习参考的必要的.说不定就是下一个混饭工具^_^.其实我觉得RoR更大的意义还是在于制定标准(最高境界呀),在群魔乱舞诸侯割据的framework世界里,RoR站在高岗上笑咪咪的说:跟着我,有肉吃.

对于个人来说,你可以选择自己喜欢的framework和语言,没人逼你.但对于项目等软件组织来说,与其让系分或技术大牛们费九牛二虎之力来编写文档,实现低层,推行规范,还不如就引用类似RoR这种既成事实的,实现的不错并且还有一定上升空间的,关键是声誉很好,可以让程序员们有动力有欲望主动学习的新玩意呢.毕竟,尽快建立共识和一致的风格是项目成功的一个重要因素,扯起ruby这张虎皮当大旗是种不错的便捷的选择(当然,扯其他也是可以的).

最后,我不是很喜欢Ruby的语法风格和关键词,和我习惯的C/php/java/perl差太远,纯粹是个人习惯原因.ruby的所谓全面向对象特性我也不是很care,对于脚本语言以及一些快速实现比复杂设计更重要的场合,直接的,面向过程式的实现还是有其价值的,再说了,连C都可以写得很面向对象的今天,定义个什么加个点就可以调用个什么这种面向对象也没有什么好吹的.

猜你喜欢

转载自blog.csdn.net/vcbear/article/details/1932809