`
CharlesCui
  • 浏览: 427771 次
  • 性别: 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为主的.

 

我想换博客了.

分享到:
评论
40 楼 lamborghini_lp 2010-08-20  
很少上CSDN了。
39 楼 Desting 2010-08-17  
今天的csdn不是昨天的csdn了。

38 楼 wenshao 2010-08-16  
只有Erlang的那种能起多个轻量级进程,并且做高并发的语言,以函数式编程用来实现应用的语言才是最有价值的.
---------
如此一句,楼主的水平鉴定完毕!
37 楼 caiceclb 2010-08-13  
楼主反驳的很好,同样适用于各种语言,每种语言自然有存在的理由,缺点不是理由。所以,请傻X们不要再去拿一种语言的优点去数落另外一种语言的缺点,你可以说一种语言的好,但不要说另一种语言的坏。

两种语言的对比是可以,但是不要带上感情色彩。应该去引导人们如何技术选型。
36 楼 wghdsql66 2010-08-13  
这个贴不也在javaeye上了首页了吗?这和csdn有什么不同。
35 楼 yza0088 2010-08-12  
争论任何一种语言谁好谁坏本身就是无意义的 别浪费唾沫了
34 楼 moonlitsky 2010-08-12  
感觉lz也有点狡辩的意思。
现实是,ruby也就在rails上有点作为。其他方面慢慢追赶吧。
另外,ruby确实有很多语法糖,想深入ruby确实有困难,而简单的python可以让人把焦点集中在业务、逻辑上。
33 楼 JavaEye4Cwy 2010-08-11  
关键是习惯问题……
32 楼 mathgl 2010-08-11  
下一站,火星 写道
我毕业后使用的第一门语言就是python,我使用django的时候,目前国内的django专家门大都还不知道这玩意,本来想写点2者对比的文章,但我现在还不写,我要等到几个月后把这个结合到我的软文里面一起发布出来,这里不谈2者的优劣,先给一个链接

http://storecrowd.com/blog/top-50-ruby-on-rails-websites/

那么有人又要蹦出来说ruby只适合做web开发,那么我认为这是一个优点,符合Unix一个东西只做一件事的理念,后台的东西给c去做,比如搜索引擎这玩意,理论上ruby可以做,python也可以做,但实际上在生产环境下,还是c实现的居多

最喜欢拿来扯淡还有什么python的包多如牛毛拉,这些人压根就不知道地球上有个网站叫做github,你们看看举的都是什么例子

GAE,GAE支持python和你有啥关系?国内有几个人是基于GAE做生产型的应用的?GAE的支付都不支持CHINA,戏剧性的是ruby有一个Heroku,比GAE就好用的多,不信自己去试试

还有人举什么PIL,这种老掉牙的包哪个语言没有, ruby里面就有Rmagick Minimagick

还有人提django这么个丢python脸的东西,你提webpy我心里还好过一点

还有zope/plone,国内最牛B的zope团队经常在豆瓣上直播,据说无比复杂,导致他们自己重新搞了一套

最后python也确实适合做后台,如果效率至上的话,可以和c混用,但也没有人规定ruby不能用,之所以有人说python比
ruby更适合是因为python是native的线程,而ruby是伪线程,也就是说python可以实现真正意义的多线程,但实际上由于在python当中,存在一个叫Global Interpreter Lock(GIL)的东西,本质上几乎是没有线程是并行的,而ruby也有一套自己的方案,详情请参考 EventMachine

我在用python做后台,不过都是起多个进程的。。gil是个诡异的东西。。一直都不去掉...


31 楼 ego008 2010-08-11  
python枪手,哈哈
30 楼 vb2005xu 2010-08-11  
还是 rebol 和 php 好 .... 简单 看起来舒服
29 楼 deepfuture 2010-08-09  
还是perl的线程好呀,强大呀,比python强,语言简单,比C好,能快速实现功能,实在不行,可以用C改写。
28 楼 下一站,火星 2010-08-09  
我毕业后使用的第一门语言就是python,我使用django的时候,目前国内的django专家门大都还不知道这玩意,本来想写点2者对比的文章,但我现在还不写,我要等到几个月后把这个结合到我的软文里面一起发布出来,这里不谈2者的优劣,先给一个链接

http://storecrowd.com/blog/top-50-ruby-on-rails-websites/

那么有人又要蹦出来说ruby只适合做web开发,那么我认为这是一个优点,符合Unix一个东西只做一件事的理念,后台的东西给c去做,比如搜索引擎这玩意,理论上ruby可以做,python也可以做,但实际上在生产环境下,还是c实现的居多

最喜欢拿来扯淡还有什么python的包多如牛毛拉,这些人压根就不知道地球上有个网站叫做github,你们看看举的都是什么例子

GAE,GAE支持python和你有啥关系?国内有几个人是基于GAE做生产型的应用的?GAE的支付都不支持CHINA,戏剧性的是ruby有一个Heroku,比GAE就好用的多,不信自己去试试

还有人举什么PIL,这种老掉牙的包哪个语言没有, ruby里面就有Rmagick Minimagick

还有人提django这么个丢python脸的东西,你提webpy我心里还好过一点

还有zope/plone,国内最牛B的zope团队经常在豆瓣上直播,据说无比复杂,导致他们自己重新搞了一套

最后python也确实适合做后台,如果效率至上的话,可以和c混用,但也没有人规定ruby不能用,之所以有人说python比
ruby更适合是因为python是native的线程,而ruby是伪线程,也就是说python可以实现真正意义的多线程,但实际上由于在python当中,存在一个叫Global Interpreter Lock(GIL)的东西,本质上几乎是没有线程是并行的,而ruby也有一套自己的方案,详情请参考 EventMachine

27 楼 jkfzero 2010-08-09  
backrain 写道
老实说,一大帮既不精通python,也不精通ruby的牛人在互喷。

为啥要精通?熟悉就行了。
语言就像妹子,等你结婚了在想转,成本就太高了。还是相处的时候该分就分吧。
26 楼 backrain 2010-08-09  
老实说,一大帮既不精通python,也不精通ruby的牛人在互喷。
25 楼 deepfuture 2010-08-09  
perl多成熟呀,多好呀,用Perl
24 楼 aoliwen521 2010-08-09  
多年不上CSDN,但是python和ruby我都不会。打算都学习一下,但是迟迟没有行动。
23 楼 teclogid 2010-08-09  
天一 写道
兄弟,这就是你不懂了。
csdn需要的就是这种颇具争议性的文章,这样才能带来流量。

兄弟,这就是你不懂了。
楼主是csdn该文章的推手。
22 楼 天一 2010-08-09  
兄弟,这就是你不懂了。
csdn需要的就是这种颇具争议性的文章,这样才能带来流量。
21 楼 CharlesCui 2010-08-09  
大家怎么听出相互诋毁的意思了?

较真的不是我,是各位啊.

我只是还Ruby个清白,Ruby不是他说的那么没用.
这不算较真吧?

如果没有明白我的好意,请不要回帖,很容易让人误解.

谢谢.

相关推荐

    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