Ruby x 敏捷: Matz 探究 Ruby 与敏捷开发的关系

阅读数:240 2007 年 6 月 18 日

话题:敏捷RubyPython语言 & 开发文化 & 方法

Ruby 语言的创始人松本行弘(Yukihiro Matsumoto/Matz)最近在一个六集视频短片中的第一集中出镜,在短片中讨论了 Ruby 语言和敏捷方法论之间的关系。与 Matz 同时出现在视频短片中的还有平锅健儿(Kenji Hiranabe)和角谷信太郎(Shintaro Kakutani)。平锅健儿是一位极富热情的敏捷方法鼓动者,并且也是许多极限编程和敏捷开发相关书籍的日文版译者。角谷信太郎则是一位 Ruby 语言的忠实的拥护者。

在视频短片的第一集中,着重分析了 Java 语言、Ruby 和敏捷之间的关系。谈论的焦点集中在他们为何确信 Ruby 与敏捷方法可以很好的进行结合,以及这两者如何为软件开发提供了更为人性化并且限制较少的实现方式。短片以每人各自描述在五年中对于上述技术相互关系的体会作为结束,他们一致认为 Ruby 将在实际业务中得到大量的应用:

“我起初使用 C++ 语言编程,并且怀疑 Java 是否可以真正在商业应用中得到推广,因为 Java 语言运行在虚拟机之上而并非与系统直接交互,但随着 CPU 性能提升与网络带宽的增加,这使得虚拟机超越了性能方面的限制,最终使 Java 在实际应用中得到普及。我确信同样的情况也将发生在 Ruby 语言之上,使 Ruby 将很快在商业应用中得到普及和推广。”

短片是以对照 Java、Ruby 和敏捷方法的发展年表来展开内容,并在 Java 固有特性和非敏捷的开发方法论之间进行了一些有趣的对比。其中一个例子就是 Java 的实体 Bean:

“在某种意义上说,EJB 是在旧的关系数据库封装之下的庞大产物,其配置是复杂和冗余的。”

发展年表比较了技术发展之间的联系,并且提供了探究 Ruby 语言与敏捷方法相互关系的平台。他们还讨论了 Dave Thomas 和 Kent Beck 这样的关键人物所担任的角色,例如 2000 年镐头书的引入,2001 和 2002 年敏捷方法的初始“泡沫时期”等。之后他们谈论了在 Ruby 语言和敏捷方法领域内显而易见的“共同繁荣”现象,正是 Ruby 语言使用率、在社区中的宣传和相关书籍文献这三个方面的大幅度增长,昭示了这个繁荣现象。

当被问及短片标题的含义时,平锅健儿这样解释道:

“原先定义的标题是 Ruby + Agile,但是最近在日本,“x”(乘号)是一个非常酷的用法,代表“versus”的含义,常被用在讨论之中,当然其所代表的含义要比符号 + 更为广泛。”

像这样的对比并非是第一次出现。在近期的 RailsConf 大会上,Alan Francis 就 Rails 框架与极限编程思想也做出了同样的对比。就像 Rails 的创始人DHH所说的那样,Alan 站在了更高的方法层面和高度探索了这些相似性。

视频短片系列的第二和第三部分的大致内容如下:

  • Part 2:业务处理框架语言(Business-Process-Framework-Language)的反响及原因
    • 2-1:从 CPU 性能到个人能力的转化的关注
    • 2-2:敏捷方法和市场的契合
  • Part 3:具有 Ruby 特色的(Rubyishness)
    • 3-1:是什么使得 Ruby 具有 Ruby 的特色(Rubyish)?
    • 3-2:Ruby 从 Lisp 中继承了哪些特性,摒弃了哪些特性?
    • 3-3:Lisp、Python 和 Ruby 语言

目前他们正在录制短片的 4 至 6 部分。第一集的视频可以在这里在线收看。

查看英文原文:Ruby x Agile: Matz explores the relationships between Ruby and Agile