19

Ruby之父:写Ruby时工作特别闲,总加班的人很难做出创造-InfoQ

 4 years ago
source link: https://www.infoq.cn/article/3VAEudwWmwDhLx1LUbmX
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Ruby之父:写Ruby时工作特别闲,总加班的人很难做出创造 - InfoQ

Ruby 之父:写 Ruby 时工作特别闲,总加班的人很难做出创造

发布于:2019 年 9 月 12 日 18:16

Ruby之父:写Ruby时工作特别闲,总加班的人很难做出创造
Ruby之父:写Ruby时工作特别闲,总加班的人很难做出创造

在近日于上海召开的 RubyConf China 站上,InfoQ 有幸采访了 Ruby 之父松本行弘先生。松本行弘先生是 Ruby 语言的设计者,投身编程行业已逾三十年。作为一门编程语言的创造者与推动者,他是怎么看待对于 Ruby 语言的褒奖与批评?又是怎么看待 Ruby 与 Java 语言的对比?对于日本的 IT 产业现状与 996 的加班问题,他又抱有怎样的看法?

极客档案人物专题纪录片

松本行弘、Ruby 与中国

我是松本行弘, Ruby 的主要设计者和实现者。大概 25 年前我开始设计和开发 Ruby,目前这门语言被全世界包括中国的开发者所使用。最近我的新书《编程语言的设计与实现》被翻译成中文在中国出版。我对编程语言本身有浓厚的兴趣,几十年来一直孜孜不倦地研究各种语言,这对我设计 Ruby 有很大的帮助。

在日本以自制编程语言为主题的书非常多,这些书绝大部分是介绍编程语言的实现的,几乎都没有涉及语言设计。设计编程语言是一件比较小众的事,有这方面经验的人很少,我这二十多年来一直在从事 Ruby 的设计和开发工作,在这些年的经验基础上,我把设计编程语言的过程和心得写成了一本书,那些对编程语言感兴趣的程序员读起来会有所收获,非常感谢图灵公司能够引进并组织翻译这本书。

Ruby 在世界各地都有开发者社区。光今年,我就参加了欧洲、美国、印度、新加坡、中国的 Ruby Conf 大会。看到这么多人都在使用 Ruby,我觉得很开心。各地的开发者虽然国籍、人种、身高不同,但他们有着惊人的相似之处:他们都非常热爱和享受编程,能与他们相遇并交流是一件幸福的事。

注:本届 RubyConf China 是举办的第十届,松本行弘在大会上做了《The future of Ruby》的主题演讲。

关于 Ruby 语言的那些爱与批评

我最开始开发 Ruby 时,没有想过会有这么多人来使用它。我当时想,大概会有百来个人用它,过了几年它就会被人淡忘。令我意想不到的的是,Ruby 后来被很多开发者所使用,越来越多的人参与到 Ruby 语言本身的开发和发展中来,用户们自发在全世界各地成立了开发者社区,这进一步促进了 Ruby 的推广。

Ruby 语言有很多特性,我觉得最为大家喜爱的是它的简洁、高效以及人性化。开发者用 Ruby 写的程序比用别的语言写的程序更简洁。Ruby 非常高效,很多情况下只需要短短几行代码就可以处理很多工作。它非常人性化和灵活,让开发者能够更加专注于编程最有乐趣的部分。这些也许是 Ruby 开发者最喜爱的特性。

的确开发者对 Ruby 语言有很多正向的评价,比如刚才讲到的简洁、高效和人性化。但同时也有开发者不喜欢 Ruby,因为一旦将 Ruby 应用到工作中,由于 Ruby 太过灵活,犯错的概率会随之增大。

从使用 Ruby 的角度来说,我个人认为最重要的是灵活性。当然容易写出 bug 的确很烦,不过我还是想要保留 Ruby 的灵活性。的确有一些开发者跟我抱怨 Ruby 太灵活,还有人说 Ruby 很多东西都是在运行时来决定的,比较麻烦。这些其实是一个取舍的问题。Ruby 会持续改进,进一步提高开发效率。

Ruby 3.0,coming next

Ruby 团队正在开发 Ruby 的 3.0 版本。(在此前 Ruby 25 周年庆祝会上,松本先生曾表示 Ruby 3.0 有望实现 3 倍提速。)目前 Ruby 还处于 2.X 的阶段,预计 3.0 版本会有比较大的变化,计划发布时间在明年的年底。

3.0 版本针对 Ruby 的一些不足之处做了改进,具体来说:

  • 比如 Ruby 多核利用的问题。现代电脑一般都有多个 CPU,但 Ruby 诞生之初,电脑普遍只有一个 CPU,这就导致 Ruby 目前在设计上还没能完全利用多核,在这方面我们希望有所改进。

  • Ruby 需要测试才能知道数据类型是否正确,这一点也常常被吐槽。更快发现错误能够提高开发效率,所以我们希望引入类型检查的功能。

  • 另外,我们还引入了函数式语言的一些特性,以提高生产效率。

Ruby 和 Java 是同龄人,也是一个追赶者

Ruby 的确常常被拿来与 Java 作比较。Java 诞生于 1993 年,而 Java 作为一门编程语言正式发布于 1995 年。我开发 Ruby 也是从 1993 年开始的,发布也在 1995 年,但比 Java 要晚一些。所以 Ruby 和 Java 基本上可以算是“同龄人”。

Java 有 Sun 甲骨文 IBM 这些大公司的支持,商业上非常成功。Ruby 一直以来都仰仗社区成员和开发者的支持,从这个角度讲 Ruby 的发展比 Java 慢得多。随着互联网的兴起,因为 Ruby 的灵活性和动态特性十分适合 Web 开发,Ruby 才渐渐为人们所知。

Java 有大量的使用者和开发者,有一个规模庞大的生态圈,Ruby 也希望能够以 Java 为榜样,迎头赶上。

技术不能解决所有问题

最近几年时常会有人说 Ruby 不如前几年那么火了,甚至有比较毒舌的人说:Ruby 已死(笑)。所有这些言论,其实都可以归结为一种光环效应:当一种新技术产生的时候,受到过度的关注,大众会抱有过高的期待。但是当真正明白这个技术是怎么一回事时,往往又会有点失望。接下来会进入一个稳定期,基本所有技术都会经历这样一个过程。

比如说,现在比较热门的 AI 深度学习,大家都在谈论它们。但是当发现 AI 不是之前想象的那样万能的时候,又会有点失望。

Ruby 也一样, Ruby on Rails 刚出来的时候,因其在 Web 开发上的优势,获得了比较多的关注。但实际上,Ruby on Rails 不是无所不能的,也会有各种各样的问题,人们此后逐渐转向其他技术,Ruby on Rails 的热度也就没有那么高了。

但 Ruby on Rails 的价值并没有随之减少,它仍旧十分适合初创企业快速开发中小规模的 Web 应用。如果能认识到这一点,在适合的场景去使用它,就能体会它的价值 。虽然当应用在几百万用户的 Web 应用或者几千人的开发团队时,有开发者遇到了一些困难,但实际上对于一些大规模网站,熟练灵活地应用 Ruby 和 Ruby on Rails 也是可行的。在国外也有很多用 Ruby 和 Ruby on Rails 开发大规模网站的案例,但需要明确是,Ruby on Rails 并不能解决 Web 开发的所有问题。没有任何一种技术能解决所有问题。

日本软件行业发展并不好

日本的 IT 产业本身十分依赖大公司,这些大公司本身对于 IT 商业化也不是特别在行。所以说实话日本的软件行业发展得并不太好。

但近几年来,日本出现了很多提供 Web 服务的公司。这些公司大多是中小规模,当然和谷歌 Facebook 这样的巨头不能比,但做得还不错。

话说回来,Software as a production 这样偏保守的 IT 产业特点,的确在商业上不是很有利。总体而言,日本软件行业相对之前来说还是有所进步,之前日本的 IT 产业里创业公司不多,近年来有所增加。

注:日本与中国同在东亚文化体系下,但在软件行业,二者之间差别迥异,尤其是在软件行业的商业化方面,日本距离中国乃至世界都有不小差距。但比较有意思的一点是,日本的顶级技术人物并不在少数,比如本文主人公 Ruby 之父松本行弘,同样还有 Jenkins 之父川口耕介等。另外一点值得称道的是,日本开发者的编程书籍写得特别好,很多国内开发者学习某个语言、框架,都是通过日文编程书籍进行。

总加班的人,很难做出创新与创造

我从事开发工作已经超过 30 年了。在我刚毕业的时候,日本加班现象比较严重,我当时常常听人说一周上了 100 多个小时的班。这是 30 年前的情况了,一般来说加班有两种人:一种是因为可以拿到加班费,还有一些人是因为工作效率低下而加班。

这两种都是不可取的。作为一个开发者来说,应该尽量提高自己的工作效率,在单位时间内为公司提供尽量多的价值,同时公司也为开发者提供丰厚的报酬,这样是比较理想的状态。还是不要加班比较好啊(语重心长)。

我最开始开发 Ruby,是工作比较闲的时候。当一个人很忙的时候,是基本不可能去创造一个新东西或者搞出什么创新来的。做开发可以改变世界,这是软件开发这个职业的迷人之处。从这个角度讲,提高自己的工作效率,不加班,拥有自由的时间。利用自己的时间创造新的东西,做一些创新性的工作,这才是正道,希望这样的人越来越多,也希望鼓励这种文化的公司越来越多。

虽然跟松本行弘先生的交流只有一个小时左右的时间,但我们已经收获满满。穿着格子衫、牛仔裤背着双肩电脑包的他给人一种十分亲和的感觉。日本人特有的礼貌让我们在采访过程中非常舒适,反倒是他对着镜头开始时有些羞涩、紧张。随着谈话逐渐深入,讲到技术细节、趣事时,松本先生开始眉飞色舞、手舞足蹈,完全忘记了镜头的存在。

一个真实、可爱、鲜活的技术人。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK