`
CharlesCui
  • 浏览: 427822 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

评论:CSDN一个帖子--<<感觉Ruby没有Python好>>

 
阅读更多

原文:

 

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的那种能起多个轻量级进程,并且做高并发的语言,以函数式编程用来实现应用的语言才是最有价值的.

函数式编程为什么这么火?

 

  1. 因为多核,
  2. 因为分布式计算,
  3. 因为容易调度.
  4. 就是因为它没有定义保存状态的变量(或者说很少定义,虽然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为主的.

 

我想换博客了.

分享到:
评论
20 楼 zyl小星星 2010-08-09  
没必要这么认真吧,语言么,不管蟒蛇还是宝石,只要有人喜欢,就是不错的语言。各求所需,各图所爱么!就像追星一样,把自己崇拜的偶像捧得很高,把自己不喜欢的明星诋毁的一塌糊涂,何必呢?!
19 楼 lyw985 2010-08-09  
引用

Ruby可以修改。--------这有个鸟用?把基本类型弄坏了咋整?

引用
怕弄坏你别用啊.


不管是那个作者和你,都有互相诋毁的意思

那个作者说的没有错,是存在这个可能性,知道就行了
18 楼 icefishc 2010-08-09  
原来是大名鼎鼎的shendl先生。 他发雷文也不是一次2次了。
csdn也够倒霉了的。总是替他背黑锅。
17 楼 liuyupy 2010-08-09  
orcl_zhang 写道
elementstorm 写道
我居然看见留言里有不少人说因为ruby是日本人发明的就不用,简直是SB中的战斗B啊!

我也看了下留言,给我的感觉就象在网易。。

是看网易的评论吧...
16 楼 orcl_zhang 2010-08-09  
elementstorm 写道
我居然看见留言里有不少人说因为ruby是日本人发明的就不用,简直是SB中的战斗B啊!

我也看了下留言,给我的感觉就象在网易。。
15 楼 treblesoftware 2010-08-09  
CSDN虽烂,但是人家就是老大。
RUBY虽好,但是它始终不会有像JAVA如此辉煌的一天。
RUBY哪天够好了,那么它也会跟CSDN变的一样烂。
如果哪天CSDN变好了,怀疑它已经没有当初那个RUBY让人陶醉。
14 楼 fireflyman 2010-08-08  
你看看CSDN那些专家有几年没上了....CSDN也就只是适合做课程设计...讨论什么之类的,意思不大...
13 楼 elementstorm 2010-08-08  
我居然看见留言里有不少人说因为ruby是日本人发明的就不用,简直是SB中的战斗B啊!
12 楼 deepfuture 2010-08-08  
用Perl吧
11 楼 songhuagao 2010-08-08  
pyhton是相对成熟点,类库很多
但是,那个强制缩进太不习惯了....
10 楼 googya 2010-08-08  
poshboytl 写道
多年不上CSDN, 楼主不要自寻烦恼啊....




就是csdn上的新闻还偶尔看看,它上面很少找到好的Ruby讨论。基本上是.NET的。
9 楼 doabit 2010-08-08  
昨天就看到了,,还用了我几年没上的CSDN号去吐了一下,,CSDN现在就是水库一样,是个帖子就上首页。。
8 楼 poshboytl 2010-08-08  
多年不上CSDN, 楼主不要自寻烦恼啊....
7 楼 yangzhihuan 2010-08-08  
笑而不语,默默地写Ruby

ps:已经多年没上CSDN了。
6 楼 清晨阳光 2010-08-08  
CSDN现在一堆“专家”
5 楼 zfree 2010-08-08  
CSDN也拿来说事,楼主自寻烦恼啊
4 楼 zhaopf 2010-08-08  
语言有啥子好坏,好与坏的评价只是在讨论应用,谁更简单,那个表达的东西更多.就
python,ruby来说都是很优秀的语言
3 楼 jinleileiking 2010-08-08  
chinaonrails 不错

Python不能修改内建类的方法和属性,只能继承它们。 
 
· Ruby可以修改。--------这有个鸟用?把基本类型弄坏了咋整? 


这个是ruby很吸引人的地方阿!

alias  old new

def new
   old
   do_sth
end


2 楼 CharlesCui 2010-08-08  
dennis_zane 写道
这种傻X理他干嘛,CSDN充斥着傻X。我现在对傻X的态度很简单,就是一句傻X送给他,指望改变傻X的思维是不大可能的。


我想找个干净点的地方,大家讨论讨论技术,但现在还能找到么?
除非maillist吧?
1 楼 dennis_zane 2010-08-08  
这种傻X理他干嘛,CSDN充斥着傻X。我现在对傻X的态度很简单,就是一句傻X送给他,指望改变傻X的思维是不大可能的。

相关推荐

    Python & Ruby 学习

    标题中的“Python & Ruby 学习”表明了这个压缩包文件包含了与这两种编程语言学习相关的资源。Python 和 Ruby 都是流行的高级编程语言,广泛应用于Web开发、数据分析、自动化脚本等多个领域。以下是对这两个语言的...

    RUBY 教程.doc

    1. **模块与混合(Mix-in):** 模块可以用来组织代码或者提供特定功能,通过`include`关键字可以让一个类包含模块中的方法。 2. **元编程:** RUBY强大的元编程能力允许在运行时动态修改程序的行为。 3. **异常处理...

    OpenCV-Python-Toturial-中文版.pdf

    OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言...

    mongodb pdf

    - Django 是一个流行的 Python Web 框架,这里讨论的是如何将 Django 与 MongoDB 结合使用。 - **知识点**: - Django 中集成 MongoDB 的方法。 - 特定于 Django 的 MongoDB 数据模型设计建议。 #### 7. **...

    Vim/Gvim配置文件+配色方案_By Marslo

    F5一键运行Python,Ruby,Perl脚本 结果直接显示在gvim的Quickfix窗口中,不会单独弹出窗口。 F3: 打开tagbar F4: 添加个人信息 -------------------------------------------------------------- 炫酷配色方案,...

    PYTHON参考手册 第4版_修订版

    内容简介 本书是Python编程语言的杰出参考手册,书中详尽讲解了Python核心和...他创办的Dabeaz 公司提供软件开发、培训和咨询服务,专注于Python、Ruby、Perl 等动态编程语言的实际应用。他是Python 软件基金会的会员。

    Ruby教程 脚本语言

    2. **面向对象**:Ruby的面向对象更为彻底,几乎所有的元素都是对象,而Python虽然也支持面向对象,但在某些方面如全局变量和函数的处理上,没有Ruby那么面向对象。 3. **性能**:Python通常在执行速度上略胜一筹,...

    memcahe使用文档

    **Memcache** 是一个高性能的分布式的内存对象缓存系统,它通过在内存里维护一个巨大的哈希表(键值对的形式)来存储各种格式的数据,如图像、视频、文件以及数据库检索的结果等。这种缓存机制可以显著提升网站的...

    windows安装jekyll所需软件 ruby DevKit python pip

    Windows上安装Jekyll所需软件包含ruby 、DevKit、python、pip 目录 Jekyll介绍 安装Ruby 安装DevKit 安装Jekyll 安装Python 安装pip 运行Jekyll 博文参考...

    opencv_python-4.2.0-cp38-cp38-win_amd64.whl

    OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言...

    RabbitMQ 安装

    - 用户管理:RabbitMQ默认有一个guest用户,只允许在本地连接,为了安全,通常需要创建新用户并赋予相应的权限。 - 绑定端口:默认情况下,RabbitMQ的管理接口15672可能被防火墙阻止,需要开放相应端口。 - 虚拟主机...

    Python库 | python-vagrant-0.5.0.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:python-vagrant-0.5.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    vs2017静态编译·说明.docx

    2. **qmake.exe设置问题**:当设置qmake.exe时遇到问题,比如提示未正确安装,可以参考这篇博客:&lt;https://blog.csdn.net/liukang325/article/details/53407401&gt;,通常需要检查环境变量设置是否正确。 #### 六、...

    ython读取由ruby/jruby生成的yml数据

    用python读取由ruby/jruby生成的yml数据

    QTwebkit编译文档

    - 版本: `python-2.7.14.msi` - **Ruby:** - 下载地址: [Ruby官网](https://www.ruby-lang.org/zh_cn/downloads/) - 安装方式: 使用rubyinstaller二进制方式安装 - 版本: `rubyinstaller-2.4.2-2-x64.exe` ...

    开源IOT最小物联网系统.zip

    代码中因为有两个子模块,即Android与REST,Android是一个简单的Android程序示例,REST作为子模块的原因是考虑到后期会用更简单的源码来替换。但是laravel作为一个运行环境,还是很理想的。 先clone git clone ...

    ActiveMQ教程

    以下是一个简单的ActiveMQ消息发送示例,展示了如何配置和发送一条消息到一个队列中: ```java public class JmsSend { public static void main(String[] args) throws Exception { ConnectionFactory ...

Global site tag (gtag.js) - Google Analytics