松本行弘:我为 Ruby 2.0 打 90 分

2013年2月24日是松本行弘开发Ruby整整20周年的日子,而就在这一天,他发布了Ruby 2.0。我与他面对面,听他讲为开发Ruby 2.0所做的努力,以及对未来的展望。(日经Linux 安东一真)

++++++++++++++++++++++++++++++++++++++++++++++++++++安东:20年之后才推出Ruby 2.0,您给这个新版打多少分呢?

Matz:90分吧。90分的话及格了吧。

任何事情都是如此,能得到80分已经很了不起了。我认为Ruby在1996年发布之初就已经有80分了,然而从80分到90分,这个提升简直是太难了,而实际上它也足足用了20年。

Ruby 2.0主要的新功能是关键字参数、Module#prepend和Refinement三个。我非常想实现这三个功能,而这个想法是在10年前的2003Ruby大会上最早提出的。10年过去了,也终于实现了。

而要从90分提升到100分,就几乎不可能了,特别对一门编程语言方面来说。 Ruby的普及,是因为它特别重视兼容性,但如果不一直改善性能的话,它早晚有一天会被淘汰。在今后,我们会继续在实现方面下功夫,加快执行速度,强化多核的应用。

++++++++++++++++++++++++++++++++++++++++++++++++++++安东:把编程语言做到如此境界,它的难点在哪里呢?

Matz:语言在实际使用上如果超过了一定的规模,那语言的开发是一个人做不了的。它能够作为一个开源软件(OSS)获得成功,应该归功于社区。Ruby也正是借助社区发展起来的。

但事实上,不能一个人完成开发,指的是一个人无法决定,也无法随意安装新功能。Ruby社区的基本原则就是每个人都可以参加。况且设计语言本身就是件很有乐趣的事情,我也很希望大家都能参加进来。

Ruby 1.8之前的所有细节我都很清楚,如果要添加新功能,需要改动的地方我了如指掌。但在1.9(2007年发布)的新虚拟机(VM)中直接采用了笹田先生开发的YARV,我插不进手,这点上变化还是很大的。

没有自己动手,其实是因为我觉得必须让别人来做。Ruby必须接受一些新东西的刺激。

++++++++++++++++++++++++++++++++++++++++++++++++++++安东:那么实现这次新功能的动机又是什么呢?

Matz:我在2011年时宣布,会在20周年的时候,也就是今年,发布Ruby 2.0,这可能是发布新功能最主要的动机吧,对我来说也是一份激励。之前一直都停留在Ruby 1.X,终于升级到2.0了。我看有很多人在讨论应该添加些什么新功能,也有很多切实可行的想法。

事实上,Ruby 2.0的三个新功能是由其他三个人分别开发出来的。Ruby社区也很喜欢类似20周年纪念这样的活动呢。他们把这个叫作“活动驱动式开发”(意即以庆祝大型活动为契机来进行开发)。当然,这和它本来的意思不一样啦(笑)。

(转载自图灵社区 http://www.ituring.com.cn/article/44490)

松本行弘:我为 Ruby 2.0 打 90 分

相关文章:

你感兴趣的文章:

标签云: