Ruby Ruby 3.0 的未来

wosuopu · 2015年05月13日 · 最后由 nagae_memooff 回复于 2015年08月03日 · 6465 次阅读

原文地址:http://hrnabi.com/2015/05/12/7035/
谁日语好的为大家做下贡献,把原文翻译一下吧。

反正我不会日语,根据文中的一些汉字连蒙带猜的,大致看了一遍,现在简单总结一下。 如果有总结得不对的,本人不负责哦。

看来要玩好 Ruby 不仅需要学英语,也还得学日语啊。


在 2014 年 9 月举行的 RubyKaigi 2014 大会上,Matz 在演讲过程中首次提到了 Ruby 3.0。
文中说的 Ruby 3.0 的三个工作方向:

  • Concurrency (并行性)
  • JIT (即时编译)
  • Static typing (静态类型)

Ruby 要引入静态类型检查?
Matz 说,在 20 世纪出生的语言大多是脚本语言,如:Ruby、PHP 和 Perl、JavaScript,这些都不是静态类型的。 另一方面,最近推出的如 Scala 和 Dart、Go 是属于静态类型的。 在 Ruby 中可以考虑引入 Python 这种通过注释来进行检查的方法。

Ruby 要引入并行计算?
Matz 详细讨论了静态类型,但没有提到并行计算。详细的内容是由笹田氏来说的。
(这部分内容我没看懂,只是大概知道这位笹田氏的博士论文与这个相关。)
关于并行计算,Matz 提到了 Erlang 和 Scala 的 actor 模型。

最后期待下一个 Ruby 开发者大会。


好了,我只看懂了这么多。其余的各位感兴趣的自己去看原文吧。 (怎么感觉好坑啊,这总结得跟没总结一样啊。没办法了我的日语水平有限。)

我的博客地址: http://www.xefan.com/archives/84144.html

感觉应该是翻译为“未来的 Ruby3.0”更合适些

确定是static type而不是soft type?(matz 的那个演讲我不想再听第 3 遍了。。。

在演讲中说了 static 的三个好处 性能文档化代码编译时检查,但这些都不是问题,并且举例出 nodejs、LuaJIT 虽然是动态语言但是性能也是杠杠的

#2 楼 @ywjno 静态类型还是很期待的

owner thread 的想法 笹田氏最近有了一个 owner thread 的想法。所有的对象均由其拥有者线程持有。线程外的第三者无法直接存取对象。动态语言里好像没有用到 owner thread 的例子。「说不定这样就能很爽地写多线程程序了」(笹田氏) 然而现在 Ruby 访问局部变量都是走全局访问,难也。跟麻子讨论了一下这个想法,回答说「很难搞吧。不过笹田想搞,那我就不多嘴了」。麻子君倒是觉得,不如像 Erlang 和 Scala 那种 Actor 模型才是多线程并发的本命吧。 「怎么搞都难。有没有办法搞、能不能安全搞出多线程,这都是超有意思的话题,能和什么人一起思考的话就太爽了」(笹田氏) 说到多线程的 Debug,「已经有不少 Debug 线程的工具和方法被研究出来了。Race condition 的自动检测也研究出来了,JRuby 里也有到学术研讨会发表。玩弄操作系统的调度器,看看哪里做了线程切换什么的,再现这些的途径也有了」之类,学术研究级别的参考也挺多的。

#5 楼 @ywjno 多谢。(看了 2 分钟已笑喷

#2 楼 @ywjno 多谢指正,因为这部分内容我看得不是很懂。

我还以为最近两天发生的事,原来是 2014 年 9 月的事了,也就那样吧

Soft typing 根据对象能否响应某个消息,来确定传入对象类型是否正确。

#6 楼 @msg7086 该演讲全程高能我快笑出腹肌了(最后的 QA 部分除外,那部分真没怎么听懂

"在 Ruby 中可以考虑引入 Python 这种通过注释来进行检查的方法。"????

#11 楼 @hbin 原文是: 「Ruby とは色々な面で似た言語と言える Python でアノテーションを付ける文法の導入が検討されているなど」 我基本上也是猜的它的意思。

Matz 提到引入 Actor 模型,对这个很期待!

#12 楼 @wosuopu 看过演讲就会知道,这里其实只是个引子而已,引出静态语言的三个好处 パフォーマンスドキュメンテーションコンパイル時の型チェック,然后下文就是パフォーマンスのメリットについて、まつもと氏は懐疑的だ。,也就是说不用静态的做法也可以做到静态语言那样的事情,根本就木有说要引入 python 那样的 アノテーション。

和 Ruby Conf 2014 的演讲区别大吗?

#14 楼 @ywjno 哦,原来如此。 看来也得把日语学好才行啊

期待吧。不过估计至少是 2-4 年后的事情了。

18 楼 已删除

在Ruby中可以考虑引入Python这种通过注释来进行检查的方法。

那里的大意是说,有人提出,可以参考 python 那种做法,引入 anotation 来进行静态的检查,而不是说 ruby 未来的方向性就是它。 后面还说,松本个人对这种“静态类型检查可以提高性能”的说法表示怀疑,他认为这种说法不一定就是对的,有可能只是人们一厢情愿而已,还列举了 V8 的例子,表示即使不借助静态类型检查,也能够做到高性能。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号