`
robbin
  • 浏览: 4821410 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
377a9ecd-1ea1-34ac-9530-9daa53bb2a7b
robbin谈管理
浏览量:137058
社区版块
存档分类
最新评论

Ruby为什么会受程序员的欢迎?

    博客分类:
  • Ruby
阅读更多
孟岩最近写了一篇博客:

Ruby 1.9不会杀死Python

这篇文章很有点标题党的意思,所以在JavaEye论坛很快被水掉了,只好锁贴:

http://www.iteye.com/topic/153651

但我个人对于孟岩的观点是不敢苟同的。首先我并不同意所谓魔幻语言和简约语言的分类。其实Martin Flower论述过这个问题,他是用“人性化接口”和“最小接口”来区分编程语言的风格化差异的,请看这篇文章:

http://martinfowler.com/bliki/HumaneInterface.html

其实不用我多说,Martin论述的挺充分了。强把Ruby和C++归为魔幻一类,其实并不准确,因为Ruby的魔幻语法和C++相比,最大区别在于:

C++的魔幻语法会导致代码的可读性变差,而Ruby的魔幻语法会导致代码的可读性大大提高。

不论是matz本人,还是整个Ruby社区,Rails社区诸多开源项目的作者,抑或整个Ruby和Rails开发者社区,在一个编程哲学问题上是高度统一的,这就是:

强调程序员的快乐编程,追求人性化编程,在代码的可读性上面有偏执的追求,拒绝难以阅读的代码和难用的API。也就是所谓的coding for fun!

所以你看无论是Rails,rake,rspec,甚至移植自lucene的ferret,都鲜明的体现出来这种特点,就是API简单好用,让你写的代码像英文文章,自然流畅,轻松愉快。要是哪个Ruby框架的API复杂晦涩,在Ruby社区简直没法混,大家根本不买他的帐,这也是为什么Ruby应用于DSL领域这么热的根本原因。

对于ruby程序员来说,这种追求编程人性化的哲学理念会潜移默化影响程序员,让他不知不觉把代码的可读性越写越好。对于程序员来说,谁不想coding for fun呢? 而当你品尝到了coding for fun的乐趣,又怎么会轻易抛弃?

所以Ruby受程序员欢迎的根本原因还是在于它是一种能给你带来编程乐趣的语言。
30
7
分享到:
评论
17 楼 wenxiang_tune 2009-09-03  
我也想知道什么时候才能做到coding for fun。。。。
16 楼 yyquick 2008-04-09  
我个人感觉,C++的魔幻语法其实也是为了快乐编程。
只是这些魔幻语法后面的实现机制确实很难理解,需要较高的编程修养的人才能够体会。
比如说,boost库里面的一些类我觉得就很好,用多了之后跟用脚本编程没有太大的差别。
可是要熟练的应用这些库需要花一定的时间,不像简单语法那么容易上手。
总而言之,C++的魔幻语法目前只能够让编程高手快乐编程。
15 楼 blackanger 2008-03-09  
Martin Fowler told us :
Humane interface designers try to identify what are the most common uses of a class, and design the interface to make these uses easy.

这就是我们为什么喜欢Ruby的原因,别争了。
14 楼 leonardleonard 2008-02-02  
语言只是表现形式的不同和优势的不同而已。
13 楼 gritlimu 2008-01-14  
什么时候不用变成那才叫快乐,呵呵
12 楼 helloworld 2008-01-14  
我觉得语言要能够长久,首先是不能有排它性。要能够调用别人,也能够被别人调用。其次是性能考量,性能关键不在于解释器或编译器的好坏,而在于设计语言的时候有没有考虑到硬件的发展。拥有了良好的设计才有可能优化编译使其得到很好的硬件执行性能。
11 楼 helloworld 2008-01-14  
我倾向于多种语言建模,如果一种语言全部做掉,即使能够,也太庞大了。
多种语言建模的基础语言是C,这是由于硬件所决定的。但现在C的这个地位也在被动摇,同样是因为硬件的发展。
在应用中我们有不同的需求,有计算的,图像分析的,界面表达的,规则描述和数据处理的等等,如果都用一种语言去实现可能性不大,有些东西要直接用不相关的语言表达可能和用汇编写程序一样困难。因此我们有了不同语言和相应的编译器或解释器,最终,这些语言是适合表达的,而执行最终转换成机器码。
Ruby不管有多好用,设计的初衷不是面向问题领域的,而是面向效率考虑的。
10 楼 rrsy23 2008-01-12  
  语言,总是在变化啊,人类语言不是吗?
   计算机语言当初汇编时代出现高级计算机语言,人类多兴奋?
   语言与公司一样有发展期,成熟期,衰退期。未必真的衰退而是相对其他与奥运年的成熟期?
   所以今天的ruby就是10年后的python或是java
  今天的ruby也许是10年钱的java
9 楼 njwisatqh 2008-01-11  
说的不错,编程快乐:)
8 楼 chinapkw 2008-01-08  
ruby 是让人愉快的语言
7 楼 dennis_zane 2008-01-08  
还别说,就有人就喜欢dirty and quickly地干活,perl这样的语言还是很有市场
6 楼 axgle 2008-01-08  
Ruby很好,很强大,很快乐
5 楼 rubynroll 2008-01-08  
我是搞嵌入式系统的,非常喜欢用ruby,所以“ruby是因为rails才吸引人”的说法对我不成立。
其实除了rails,ruby可以开展拳脚的地方很多,特别是在日常工作中需要自己写一些小工具的时候,ruby特别引诱人。
回到话题,我认为ruby吸引人的主要原因是ruby本身的语法非常自然,“最小惊诧”原则是明显起到作用的。如果说到吸引人的细出,可能closures是最大贡献,至少对我来说是closures使我使用ruby的。
要说不足,就是MRI可移植性还不够,特别对于嵌入式系统,目前除了在embedded linux上可用,对于资源更少的系统ruby就无能为力了,相反,python则在这方面有很大优势。

4 楼 swachian 2008-01-08  
不过魔幻/简约分法和可读变好/变差的分法倒让我想起了Stevens对perl的评论:
I don't use perl--I consider it an unreadable write-only language.

魔幻的说法显然有个误区,就是认为好写的语言必定不好读。
3 楼 swachian 2008-01-08  
要是没有rails,我是不会接触ruby的,呵呵,所以个人认为在web开发方面Python即使被杀死也主要取决于rails而不是ruby。

是否被杀死,关键看领域的,也就是使用的场合。
比如,js除了语言动态性这点做得完全正确之外,要不是在浏览器场合、在DOM领域却是独一无二的,它的语法和api设计谁会乐意去用它。

不过倒真的希望ruby能够把shell语言给统一起来。杀死Python对ruby也不是什么好事情。至于对搞应用开发的,那绝对是坏事一件了。
2 楼 Goodtiger 2008-01-07  
说白了还是一种语言,关键还是应用的场合。
1 楼 爱死不活 2008-01-07  
确实如此,编程快乐

相关推荐

    ruby books

    Ruby语言由日本人松本行弘在1993年创建,它强调代码的可读性和程序员的生产力,因此在Web开发领域,特别是与Ruby on Rails框架结合时,非常受欢迎。 描述中提到的"一些积聚起来的关于ruby的书"表明这是一个集合,...

    为程序员/音乐家提供工具,以快速收集有关其乐队的统计数据_Ruby_代码_下载

    2. **数据分析**:通过内置的统计函数,对收集的数据进行分析,例如计算平均观众人数、最成功的演出场地、最受欢迎的演出时间等,帮助乐队了解其表现趋势。 3. **可视化报告**:提供图表和图形来直观展示数据分析...

    .一步一步学RUBY

    Ruby的诞生之初,并未引起广泛关注,但自1995年公开发布以来,逐渐吸引了全球众多程序员的青睐,特别是在2006年后,随着**Ruby on Rails**等框架的普及,Ruby的受欢迎程度显著提升。据**TIOBE**指数显示,截至某个...

    Programming Ruby中文版(第二版)

    它不仅受到广大程序员的欢迎,无数的软件大师亦为其倾倒。Programming Ruby是关于Ruby语言的一本权威著作,也被称为PickAxe Book(镐头书,由封面上的工具得名)。本书是它的第2版,其中包括超过200页的新内容,以及...

    ruby-2.2.0.tar.gz

    Ruby-2.2.0是Ruby编程语言的一个版本,它是一个强大的、动态的、面向对象的脚本语言,以其简洁的语法和强调程序员生产力而受到欢迎。Ruby在20世纪90年代由日本的松本行弘(Yukihiro Matsumoto)创建,它的设计哲学是...

    使用Python Lua和Ruby语言进行游戏编程

    它的设计目标就是简单、快速、小巧,这使得Lua在游戏行业中非常受欢迎。许多知名游戏,如《魔兽世界》和《愤怒的小鸟》,都使用Lua来编写游戏逻辑和扩展。Lua的优势在于它的解析速度快,学习曲线平缓,且具有良好的...

    ruby中文文档

    Ruby的设计理念是强调程序员的舒适度和代码的可读性,这使得它在编程社区中受到了广泛的欢迎。其语法简洁明了,同时提供了丰富的内置功能和库,支持多种编程范式,包括面向对象、函数式、命令式和反射。 Ruby的核心...

    Ruby v2.6.3 正式版

    Ruby作为一种多用途的、解释型的、面向对象的编程语言,以其简洁的语法和强调程序员生产力而受到广泛欢迎。它的设计目标是让代码更加易于阅读和写作,同时降低编程的复杂度。 Ruby的核心特性包括: 1. **动态类型*...

    《Programming Ruby》(chm)

    它不仅受到广大程序员的欢迎,无数的软件大师亦为其倾倒。Programming Ruby是关于Ruby语言的一本权威著作,也被称为PickAxe Book(镐头书,由封面上的工具得名)。本书是它的第2版,其中包括超过200页的新内容,以及...

    ruby eclipse插件

    Ruby是一种面向对象的、动态类型的编程语言,以其简洁、易读的语法和强调程序员生产力的特点而受到欢迎。Ruby on Rails(简称Rails),则是基于Ruby构建的一个开源Web应用框架,遵循MVC(模型-视图-控制器)架构模式...

    ruby-1.8.6.zip

    Ruby 是一种面向对象的、动态类型的编程语言,以其简洁、清晰的语法和强大的元编程能力而受到欢迎。在 Ruby 1.8.6 中,我们可以看到许多现代 Ruby 特性的前身,同时也有一些与最新版本的差异。 1. **面向对象编程**...

    The Ruby Programming Language

    - **Web开发**:Ruby on Rails框架极大地简化了Web应用程序的开发过程,使其成为最受欢迎的Web开发框架之一。 - **脚本编写**:Ruby可以用作系统管理脚本,执行自动化任务和服务器维护。 - **桌面应用**:Ruby可以...

    Eloquent Ruby

    这本书深受Ruby程序员的欢迎,无论读者是新手还是经验丰富的Rails开发者,都被推荐阅读。从书中的描述可以看出,它被形容为“像在使用Ruby编程一样有趣,出乎意料地深刻,并且你会希望所有编程都是这样的。”这表明...

    Ruby语言教程.docx

    - **发展现状**:Ruby经过多年的不断发展和完善,已经成为了一种广泛应用的编程语言,在Web开发领域尤其受欢迎。 #### 四、Ruby语言实现版本 - **原生C实现**:这是最常用的Ruby实现版本,也是官方提供的默认版本...

    ruby资源推荐.docx

    - **简介**:这是一套非常受欢迎的在线视频教程,由Michael Hartl主讲,详细介绍了如何使用Ruby on Rails框架来构建Web应用程序。 - **适合人群**:适合希望从零开始学习Ruby on Rails的初学者。 2. **“Ruby ...

    Programming Ruby(第二版)

    它不仅受到广大程序员的欢迎,无数的软件大师亦为其倾倒。Programming Ruby是关于Ruby语言的一本权威著作,也被称为PickAxe Book(镐头书,由封面上的工具得名)。本书是它的第2版,其中包括超过200页的新内容,以及...

Global site tag (gtag.js) - Google Analytics