[eiffel 翻译]采访 Ruby 创始人

来源:互联网 发布:贵州大数据培训机构 编辑:程序博客网 时间:2024/05/17 06:34
导读:
  注: Matz 就是著名的编程语言 Ruby 的创始人(日本人)
  这段对话翻译自 oreillynet.com 网站对 Matz 的访谈。
  未经本人同意,不要任何地方转载这篇翻译文章
  (最先发表在本人的网站 http://www.eiffelqiu.com)。
  
  
  Ruby 被称一种纯面向对象的语言,它试图集成脚本语言中最好的特点,
  它本身是用 C 语言开发的,但是在设计的时候更多地考虑到了拥有 Perl
  ,Python 的能力。虽然起源于日本,但是Ruby已经渐渐在美国得到了瞩目。
  Yukihiro Matsumoto (网上被称为 Matz)是 Ruby 的创始人,同时
  也是O'Reilly 最新出版的语言类书籍 “Ruby in a nutshell” 的作者。
  Matz 是一位专业的程序员,他在日本的开源公司 netlab.jp 工作。他
  也是日本最为著名的开放源码传播者之一。他发布了许多开源的产品,包
  括 cmail,一个基于 Emacs 的邮件客户端程序,完全用Lisp 写的。
  Ruby 是他第一个在日本以外国家成名的软件。 最近我们跟Matz 谈起了
  Ruby 的历史,Perl , Python 对 Ruby 的影响以及为什么我们需要
  另外一种脚本语言。
  以下就是采访片段:
  
  Stewart:
  让我们从回顾历史开始吧,您为什么要决定开发 Ruby 语言?
  Matz:
  那追溯到 1993 年的事情了,我当时跟一个同事谈起了脚本语言,它们的
  强大的功能和可能性给我留下了深刻的印象,我觉得脚本语言是条正确的道路。
  作为一个长期的面向对象编程的忠实拥护者,对我来说面向对象编程也非常适
  合于脚本语言,所以我开始在网上搜寻。我发现了 Perl 5,当时它还没正式
  推出,正打算实现一些 OO 的特点,但是那不是我想要的, 我最终放弃了将
  Perl 作为一个面向对象脚本语言的企图。
  后来我发现了 Python, 它是一个解释型,面向对象的语言,但是我觉得它不
  是一个“脚本”语言,除此之外,它还是一个包括了过程编程和面向对象编程的
  混合型语言 。
  我需要的是一个比 Perl 更强大,比 Python 更面向对象的语言,这就是为
  什么我决定设计我自己的语言的原因。
  Stewart:
  你什么时候真正开始编写 Ruby 的? 最终花了多长时间才使成为一个可用的
  语言?
  Matz:
  我开始开发 Ruby 是 1993 年的 2 月 24号, 第一个 Ruby 版本的
  “Hello world” 运行的时候是同年的夏天。第一个 Alpha 版本发布于
  1994 年 12 月。
  Stewart:
  你是单独完成它的吗?或是由开源社区贡献了大部分代码?
  Matz:
  直到 1996 年,我都是独立在开发它,打那儿以后,一个 Ruby 社区形成了,
  他们帮了我很大的忙,但是我仍然做绝大部分的工作,但是很多人给我提供的
  代码的修补和补丁。
  Stewart:
  日本的开源社区有多活跃?和美国的开源社区运动相比,你觉得如何?
  Matz:
  非常的活跃,但是我觉得比美国的社区在规模上要小。
  Stewart:
  你怎么会想起用 "Ruby" 这个名字的?
  Matz:
  Ruby 是一种珍贵宝石的名字(红宝石)。它不是什么简称。当我始这个语言项
  目的时候,我就跟一个同事开玩笑说,这个项目必须以一个宝石的名字来命名(
  比如 Perl),我的朋友想出了“Ruby”,它是一种美丽珍贵的宝石的简称。所以
  我就采纳的这个名字,它最终成为了这个语言的官方名字。
  后来我发现 Pearl(珍珠)是六月的诞生石,而Ruby 是七月的诞生石, 我认为
  Ruby 这个名字作为 Perl 之后的一门语言的名字真是再恰当不过了。
  Stewart:
  你在设计 Ruby 的时候有什么指导原则吗?
  Matz:
  是的, 我称之为“最少的惊奇”,我觉得人们在编程的时候都希望表达他们自己的
  思想,他们并不想使用语言来斗争。编程语言对程序员来说应该显得自然。 我试
  图让程序员在使用 Ruby 的时候感受到编程的乐趣,而将注意力集中在编程的趣
  味和创新上来。
  Stewart:
  你在 Ruby 的邮件列表中很活跃,在那里最通常的问题是什么?
  Matz:
  各种各样的问题,从“我如何在 windows 2000 的机器上安装 Ruby” 到 “你能
  将我的补丁合并进来修复你的错误吗”,应有尽有。 Ruby 社区中的人是如此的不
  同而又互相友好,真是让人惊奇,我相信社区是 Ruby 最强大的力量。
  Stewart:
  在 Slashdot 或其他网站上,如果提及 Ruby , 有个问题总是会反复出现,“为
  什么会需要另外一种脚本语言?”,你对这个问题的想法是怎样的?
  Matz:
  为什么需要另外一种语言?理论上,不需要。我们只是需要一个图灵机来解决我们
  所有的问题。人们需要更多复杂的工具来编程,这是人类的需求。只有有人觉得使
  用Ruby很快乐,对我来说,这个原因就足够了。
  Stewart:
  我注意到,在发明 Ruby 之前你在使用 Perl 和 Python. 在 Ruby 中你集成
  了 Perl 的那些部分?
  Matz:
  很多。 Ruby 的类库是对 Perl 语言功能的面向对象重组,另外添加了一些
  Smalltalk 和 Lisp 的东西。我想我是用了很多 Perl 的东西, 不过我不应该
  继承诸如 $_ $& 和其他一些风格丑陋的变量。
  Stewart:
  那么 Python 呢?你试图重用这个语言中的哪些特点?
  Matz:
  远比 Perl 要少,但是我还是偷学了一些东西,比如异常名,另外我从它的源码
  中学到很多东西。
  Stewart:
  如果人们已经熟悉了 Perl 和 Python, 他们有什么理由要转到 Ruby 上来呢。
  Matz:
  为什么要转到Ruby? 如果对Perl 或者 Python 很满意,就不需要转到 Ruby
  上来。但是如果确实觉得需要一门更好的语言,Ruby 可能就是你的选择。学习一
  种新的语言并没有害处。 它给你新的想法和见解,你不比转到它,可以仅仅学习
  和试试。 在你觉得 Ruby 使用起来非常舒服的时候再决定转到使用它。
  Stewart:
  你觉得 Ruby 在日本如此成功,但是在美国和欧洲并流行是什么原因呢?
  Matz:
  Ruby 自从 1995 年第一次正式发布就在日本有了名气,直到 1997 年才有了
  英文文档。 在 1998 年建立 Ruby-talk邮件列表之前我没有对Ruby 做过任何
  宣传,所以,对非日语国家来说,这是一门非常新的语言。我想这是主要原因。
  现在我们有了关于 Ruby 的英文书籍了,就像我的这本 “Ruby in a Nutshell"
  。 社区也在发展,去年日本之外没有人知道 Ruby 是什么。今年,人们知道Ruby
  是一个语言的名字,我想今后三年情况会有所改观。
  Stewart:
  文化差异是否也在其中起了作用?
  Matz:
  我不这么认为。我设计 Ruby 是为了尽量减少我的惊奇。当世界各地的人告诉我
  Ruby 减少了他们的惊奇并让他们享受到编程的快乐,这多少让我感到惊讶,现在
  我确信全世界的程序员都是很相像。
  Stewart:
  你未来还有什么计划吗?
  Matz:
  loop do
  read and reply mails
  write code
  write document/article/book
  write code
  end
  Stewart:
  你现在对下一个版本 Ruby 有什么计划吗?
  Matz:
  我希望把它做的更快,更稳定。我计划重写 Ruby 2.0 的解释器,代码名是:
  ”Rite“.它将更小,更容易嵌入,线程安全而且速度更快。
  它将使用字节码引擎。它可能要让我花上几年的时间来实现,因为光维护现在的
  版本已经让我相当的忙碌了。

本文转自
http://blog.csdn.net/eiffelqiu/archive/2004/02/04/19869.aspx