原文:
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为主的.
我想换博客了.
分享到:
相关推荐
标题中的“Python & Ruby 学习”表明了这个压缩包文件包含了与这两种编程语言学习相关的资源。Python 和 Ruby 都是流行的高级编程语言,广泛应用于Web开发、数据分析、自动化脚本等多个领域。以下是对这两个语言的...
1. **模块与混合(Mix-in):** 模块可以用来组织代码或者提供特定功能,通过`include`关键字可以让一个类包含模块中的方法。 2. **元编程:** RUBY强大的元编程能力允许在运行时动态修改程序的行为。 3. **异常处理...
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言...
- Django 是一个流行的 Python Web 框架,这里讨论的是如何将 Django 与 MongoDB 结合使用。 - **知识点**: - Django 中集成 MongoDB 的方法。 - 特定于 Django 的 MongoDB 数据模型设计建议。 #### 7. **...
F5一键运行Python,Ruby,Perl脚本 结果直接显示在gvim的Quickfix窗口中,不会单独弹出窗口。 F3: 打开tagbar F4: 添加个人信息 -------------------------------------------------------------- 炫酷配色方案,...
内容简介 本书是Python编程语言的杰出参考手册,书中详尽讲解了Python核心和...他创办的Dabeaz 公司提供软件开发、培训和咨询服务,专注于Python、Ruby、Perl 等动态编程语言的实际应用。他是Python 软件基金会的会员。
2. **面向对象**:Ruby的面向对象更为彻底,几乎所有的元素都是对象,而Python虽然也支持面向对象,但在某些方面如全局变量和函数的处理上,没有Ruby那么面向对象。 3. **性能**:Python通常在执行速度上略胜一筹,...
**Memcache** 是一个高性能的分布式的内存对象缓存系统,它通过在内存里维护一个巨大的哈希表(键值对的形式)来存储各种格式的数据,如图像、视频、文件以及数据库检索的结果等。这种缓存机制可以显著提升网站的...
Windows上安装Jekyll所需软件包含ruby 、DevKit、python、pip 目录 Jekyll介绍 安装Ruby 安装DevKit 安装Jekyll 安装Python 安装pip 运行Jekyll 博文参考...
OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言...
- 用户管理:RabbitMQ默认有一个guest用户,只允许在本地连接,为了安全,通常需要创建新用户并赋予相应的权限。 - 绑定端口:默认情况下,RabbitMQ的管理接口15672可能被防火墙阻止,需要开放相应端口。 - 虚拟主机...
资源分类:Python库 所属语言:Python 资源全名:python-vagrant-0.5.0.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
2. **qmake.exe设置问题**:当设置qmake.exe时遇到问题,比如提示未正确安装,可以参考这篇博客:<https://blog.csdn.net/liukang325/article/details/53407401>,通常需要检查环境变量设置是否正确。 #### 六、...
用python读取由ruby/jruby生成的yml数据
- 版本: `python-2.7.14.msi` - **Ruby:** - 下载地址: [Ruby官网](https://www.ruby-lang.org/zh_cn/downloads/) - 安装方式: 使用rubyinstaller二进制方式安装 - 版本: `rubyinstaller-2.4.2-2-x64.exe` ...
代码中因为有两个子模块,即Android与REST,Android是一个简单的Android程序示例,REST作为子模块的原因是考虑到后期会用更简单的源码来替换。但是laravel作为一个运行环境,还是很理想的。 先clone git clone ...
以下是一个简单的ActiveMQ消息发送示例,展示了如何配置和发送一条消息到一个队列中: ```java public class JmsSend { public static void main(String[] args) throws Exception { ConnectionFactory ...