分享 Ruby 4.0: To Infinity and Beyond

tony612 · 2017年04月04日 · 最后由 pynix 回复于 2017年04月16日 · 2931 次阅读

https://speakerdeck.com/bbatsov/ruby-4-dot-0-to-infinity-and-beyond-rubyconf-dot-by-2017

这是 Rubocop 作者 Bozhidar Batsov 在 RubyConf.by 2017 的演讲 slides(视频应该还没出)。虽然有点标题党,但内容还是很有意思的。回顾了 Ruby 近期的发展,“展望”了之后的 3.0,并介绍他心中的”Ruby 4.0“应该是怎样的,也借此表达了他对 Ruby 这门已经足够成熟的语言的一些看法。

不管你是不是在用 Ruby,用了多久,是爱是恨,我想这个分享都值得一看。

Update: 9 楼有贴这个演讲者在其他 conf 的同一主题的视频,可以先看一下

难道不是 3.0 号没有吗...

任何展望都是为了画饼。 😱

其实应该算不上是展望,我感觉他其实不是特别喜欢 Ruby 3.0 的新特性

后边有提到 net/http,我也想到有一次要写个简单的脚本,需要调一个第三方的 POST 请求。开始尝试用 net/http 去做,结果折腾了很久都不行,最后果断换成 faraday,就瞬间搞定了

看了 Slide,真按这么改就成 Python 3 了,代码不兼容,版本分裂。

如果很在乎里面提到的几个方向,就用他后面提到的语言,然后重走 Ruby 10 年前发展的历程。

Bozhidar Batsov 已经逐渐把重心往 clojure 迁移了

你们没看明白,作者说这么久意思是大家可以试试 Crystal、Elixir、Scala 这类新的方案 😄

主要吐槽了历史遗留过多、太过于倚重 MRI 和 Rails

我觉得说的都挺有道理的,斩龙的少年已经开始长出龙鳞

哈,pre condition, post condition,都是 clojure 的特性啊。

有点对 ruby 失望的意味,ruby 3 没有明确的目标,ruby 2 没有什么令人激动的新特性。还顺带强烈吐槽了写法太多,只要一种就好。

感触最深的是

The feature has already here it just not evenly distributed. Ruby has fallen behind and we are not the community that was known for leading the innovation anymore.

clojure 或者 lisp 确实是值得学习的语言。

顺便贴下视频连接

一个很好的演讲!最后说到 ruby 4 其实已经到了,就是 Crystal、Elixir、Scala 这类新的方案。长江后浪推前浪,拥抱变化吧!

yfractal 回复

原来他在其他地方也做过这个演讲呀。。

现在众多人尝试写新的语言而不再在老的 ruby 的 code base 上继续耕耘,其实体现了写代码容易改代码难。Ruby 的历史包袱太重,确实不好进行大的革新,导致 3.0 为了向后兼容也没有太多激动人心的变化。

是一个革命还是改良的哲学问题。

psvr 回复

又到了一波重造轮子的时候了

并发和分布式没有什么好的方案,未来云的架构下很难翻身。Elixir,scala,python 都能抢到一块地盘。

其实 ruby 已经够好了,ruby 3 只是更进一步。大家在期待 ruby3 的同时,也继续学习体验新的东西吧。不要搞得好像只能用一种语言,或者不是用 ruby 当工作语言就不行一样。

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