澳门新葡亰信誉平台游戏Ruby 之父:Ruby3 有望 3 倍提速,不添加类型推断

by admin on 2020年3月30日

澳门新葡亰信誉平台游戏 1

2018 年是 Ruby 诞生的第 25
年,这门一贯被贴上保守、平衡、严谨等标签的语言,不知不觉已发展了 1/4
个世纪。Ruby 首次公开发布是在 1995 年的 12 月 25 日,但其创始人 Yukihiro
Matsumoto(网络昵称 “Matz” ) 认为当他命名 Ruby 时,就是 Ruby
的诞生日,也就是 1993 年的 2 月 24 日。

依靠其简洁、优雅的语言特色,以及 Rails 等开发框架的成功,Ruby 在 Web
开发领域早已成为一种人气颇高的动态脚本语言。然而,当今世界上流行的编程语言中,只有
Ruby 来自亚洲,作为 Ruby
语言的发明者,松本行弘(Matz)表示自己常因此而感到孤独。

Ruby 出生的前几年,并未得到太多关注。2013 年 Rails 的出现,改变了 Ruby
原有的生态系统,也让 Ruby
开始得到更广泛的应用,并在后续几年达到高峰。直到 2009 年,随着 Twitter
从 Ruby 转向 Scala 以及其他一些语言的发展,Ruby
的热度出现下降。当然,时至今日,Ruby
在各个编程语言排行榜中的排名依然不低。

Ruby 出生的前几年,并未得到太多关注。2013 年 Rails 的出现,改变了 Ruby
原有的生态系统,也让 Ruby
开始得到更广泛的应用,并在后续几年达到高峰。直到 2009 年,随着 Twitter
从 Ruby 转向 Scala 以及其他一些语言的发展,Ruby
的热度出现下降。当然,时至今日,Ruby
在各个编程语言排行榜中的排名依然不低。

作为这本书的译者,2012 年 11 月借中国 Ruby
大会的机会,我有幸以图灵特派记者的身份对 Matz
进行了一次专访(访谈内容参见图灵社区)。穿着
UNIQLO 的格子衬衫,充满技术宅范儿的
Matz,平时看起来不苟言笑,谈起技术话题来就好像打开了话匣子一般滔滔不绝,在
Twitter 上的发言也相当活跃。在访谈中,Matz 谈到了 Ruby
的发展方向,他希望 Ruby 能够在 Web
开发之外的领域(科学计算、高性能计算和嵌入式系统)有更多的发展,同时他也希望中国的程序员们能够积极为开源社区做出贡献,努力成为能够影响世界的工程师。

澳门新葡亰信誉平台游戏 2

澳门新葡亰信誉平台游戏 3

Matz 一直称自己是一个普通的程序员,创造 Ruby
只不过是他编程生涯中的一小部分。无论是以“资深 UNIX
程序员”的身份,还是“Ruby 之父”的身份,Matz
都有足够的资格对现今的编程语言和技术品头论足;另一方面,计算机技术的发展可谓日新月异,Matz
认为有必要从过去到未来,以发展的眼光来看待这些技术的演进。用资深程序员的视角和发展的眼光来剖析技术,这就是
Matz 笔下的《代码的未来》。

关于下一个 25 年,Matz 在 Ruby 25
周年的庆祝会上以及近日在接受采访时都曾表示,Ruby
的核心开发团队现在正在开发的是如何在现有技术之上进行改进的新 Ruby
,而不会是一个全新的、完全不同的 Ruby 。希望 Ruby
能够成为开发者长期使用的语言,而不是以前使用过的语言。

关于下一个 25 年,Matz 在 Ruby 25
周年的庆祝会上以及近日在接受采访时都曾表示,Ruby
的核心开发团队现在正在开发的是如何在现有技术之上进行改进的新 Ruby
,而不会是一个全新的、完全不同的 Ruby 。希望 Ruby
能够成为开发者长期使用的语言,而不是以前使用过的语言。

在这本书中,Matz
将和大家一起探讨丰富多彩的技术话题,并对编程语言的未来发展趋势做出自己的预测。像
Lisp
这样拥有最简核心的函数型语言真的会是未来的发展趋势吗?垃圾回收、闭包、高阶函数、元编程等编程语言中的要素是如何发展出来的?Google
为什么要开发 Go 和 Dart,它们能取代 C 语言和 JavaScript
吗?大数据时代经常提到的 Hadoop、MapReduce、NoSQL
等名词到底是什么意思?关系型数据库真的已经走到穷途末路了吗?要充分运用多核心和分布式环境,在软件层面需要做出怎样的应对,又有哪些技术可以使用?如果你对上面这些话题感兴趣,无论心中是否已经有了自己的答案,都可以看一看来自
Matz 的解读。

编程语言的发展目标其实都是“提高生产力”,Ruby 同样如此。Matz 透露 Ruby 3
将朝三个方向进行推动,即快速、分布式(可伸缩)和精明(分析),最终有望实现
3 倍提速。Ruby 3 计划在 2020 年发布,在此期间,Ruby
不会冒然带来不兼容的更改,而是选择在每年的版本发布中添加一些新功能,当达到制定的目标时,就是
Ruby 3 。

编程语言的发展目标其实都是“提高生产力”,Ruby 同样如此。Matz 透露 Ruby 3
将朝三个方向进行推动,即快速、分布式(可伸缩)和精明(分析),最终有望实现
3 倍提速。Ruby 3 计划在 2020 年发布,在此期间,Ruby
不会冒然带来不兼容的更改,而是选择在每年的版本发布中添加一些新功能,当达到制定的目标时,就是
Ruby 3 。

和《松本行弘的程序世界》一样,这本书也是 Matz 在《日经
Linux》杂志连载的专栏文章的一个合集,书中选取的文章之间有近四年的时间跨度,且章节的安排也和原稿写作的时间顺序有所不同。不了解这个背景的读者,可能会被书中一些貌似前后重复或者“穿越”的地方搞得一头雾水——少安毋躁,这不是
bug。相比《松本行弘的程序世界》的14个主题来说,这本书的主题更加集中和深入,而不变的是,话题依然丰富,观点依然犀利,内容依然扎实,读起来畅快淋漓。

至于今年发布的 Ruby 2.6 ,则将率先引入 MJIT 。

至于今年发布的 Ruby 2.6 ,则将率先引入 MJIT 。

最后,感谢Matz在本书翻译过程中所给予的帮助和指导,感谢图灵公司各位编辑的辛苦工作,希望每位读者都能够从中有所收获。

澳门新葡亰信誉平台游戏 4

澳门新葡亰信誉平台游戏 5

周自恒
2013 年 3 月于上海

有意思的是,当被问到关于编码标准的问题时,Matz
表示自己并不是那种关心编码标准的人。Matz
说:“有些人甚至会说如果没有编码标准,他们就无法入门。这让我想知道你是真的在工作吗?这是你应该思考的问题。当然,如果缩进宽度以及使用空格或制表符等内容不统一,编译起来会导致很多差异。所以,如果是团队合作,这些事情应该提前讨论和统一。程序员都有独立的倾向,更喜欢自己决定工作。如果有人像对待婴儿一样告诉你要遵循提供的所有规则,我认为他们没有把你当作程序员来对待。我不希望别人像那样对我,这也就是为什么我不想这样对待其他人”。

有意思的是,当被问到关于编码标准的问题时,Matz
表示自己并不是那种关心编码标准的人。Matz
说:“有些人甚至会说如果没有编码标准,他们就无法入门。这让我想知道你是真的在工作吗?这是你应该思考的问题。当然,如果缩进宽度以及使用空格或制表符等内容不统一,编译起来会导致很多差异。所以,如果是团队合作,这些事情应该提前讨论和统一。程序员都有独立的倾向,更喜欢自己决定工作。如果有人像对待婴儿一样告诉你要遵循提供的所有规则,我认为他们没有把你当作程序员来对待。我不希望别人像那样对我,这也就是为什么我不想这样对待其他人”。

此外,Matz
认为未来软件开发将变得更加互动。未来的计算机甚至可能会更进一步,当编写的源代码在语法上不正确时,机器将指出语法错误,并给出从错误的代码更改为正确代码的建议。对于
Ruby 而言,语言本身将保持现在的紧凑性,高级分析功能(如类型推断)将通过
IDE 等外部工具或类似工具完成,而不会是 Ruby 本身的代码实现。

此外,Matz
认为未来软件开发将变得更加互动。未来的计算机甚至可能会更进一步,当编写的源代码在语法上不正确时,机器将指出语法错误,并给出从错误的代码更改为正确代码的建议。对于
Ruby 而言,语言本身将保持现在的紧凑性,高级分析功能(如类型推断)将通过
IDE 等外部工具或类似工具完成,而不会是 Ruby 本身的代码实现。

(文/开源中国)    

来自:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图