原文:
http://blog.csdn.net/shendl/archive/2010/08/04/5789208.aspx
这种帖子居然被推荐到CSDN首页了,而且还是个排名192的CSDN专家写的,CSDN的质量在下降.
我蛮久没玩Ruby了,看到这样的代码完全看不懂了。
class Customer < ActiveRecord::Base
has_many :orders, :dependent => :destroy
end
也不想看懂了.
这个都看不懂就评论Ruby,完全是门外汉.
Ruby的语法糖的确很多,但不需要你都记住,看不懂的时候查查手册,只要你的项目里面不要用NS整天回帖中写的那些黑魔法一样的代码就行了.
Ruby不是只能写出复杂的代码,它写起来简洁的代码是非常清爽的,它写的代码简直就是readme手册一样,不需要你再去man一下资料.
Ruby标榜自己的函数式编程能力很强。什么lambda什么的。
函数式编程绝对没有任何值得吹嘘的,但我不知道有没有Rubyer在吹嘘,不过Ruby做这个完全没问题啊,有什么好评价的?
这个作者完全不知道什么是函数式编程的意义.
只有Erlang的那种能起多个轻量级进程,并且做高并发的语言,以函数式编程用来实现应用的语言才是最有价值的.
函数式编程为什么这么火?
- 因为多核,
- 因为分布式计算,
- 因为容易调度.
- 就是因为它没有定义保存状态的变量(或者说很少定义,虽然Erlang可以通过hack方法做到),这样使得它容易并发.
如果还要说函数式编程有什么好的,那就是它小小改变了一下人们的编程思维而已,不过那种编程设计刚出来的时候不改变人们的思维呢?追新而已,有不一定多有用.
C语言照样写函数式编程,效率更高呢.
Ruby要做到函数式编程思维完全没问题,有个lambd就行了?为什么不可以呢?还有其它那篇文章提到的几个特性,我不知道python怎么实现元组的,我觉得像haskell那样的元组才有提到的价值.
不过Python的函数式编程再牛12+1,别忘了他是脚本语言,别忘了他的全局解释器锁,这样的硬伤让它没办法想Erlang一样并行的启动多个进程或线程去处理任务.
拿函数式编程来大家Ruby,也不看看自身有多少实力.
下面这些不需要评论,擦,那个作者根本没必要写出来:
· Python不能修改内建类的方法和属性,只能继承它们。 · Ruby可以修改。--------这有个鸟用?把基本类型弄坏了咋整?
怕弄坏你别用啊.
· There are a number of shortcuts that, although give you more to remember, you quickly learn. They tend to make Ruby fun and very productive. · 这个是Ruby的一大缺点。Ruby有很多快捷键,默认值。很诡异。如上面那个Rails生成的类,太难看懂了。
有没说一定要你学,给你提供一个更简洁的方式去做事,你用不用是你自己的问题,干嘛怪Ruby呢?
实际上,在Linux平台,数量最多的开源和商业程序是C程序,第二就是Python了。Linux中有大量程序是用Python编写的。如虚拟化中的Libvirt和相关的套件等。
我不想说第二是Python还是Perl还是Shell了,我觉得Python写的是libvirt的扩展-xen-吧,libvirt是C写的吧,幸好哥哥当年玩虚拟化的时候没少上:http://libvirt.org/去看它的源代码,要不然就被丫的忽悠了!
最后,反省和总结:
Python的开源资源浩如烟海,Ruby怎么比?
兄弟们多努力啊,奉献点NB的应用出来.
说句实话,Ruby也是设计精巧,不错的语言。相当灵活,威力很强。但是Rubyer到处诋毁其他语言,摆出老子天下第一的架势,这我就看不惯了
装12+1者要自省,Ruby就是一个好用点的工具而已,不是天下第一,只是我们都爱它.
PS:
谁能推荐我一个高质量的Ruby论坛?
再推荐我一个高质量的开发者论坛,以Linux C为主的.
我想换博客了.