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 的同一主题的视频,可以先看一下
后边有提到 net/http,我也想到有一次要写个简单的脚本,需要调一个第三方的 POST 请求。开始尝试用 net/http 去做,结果折腾了很久都不行,最后果断换成 faraday,就瞬间搞定了
看了 Slide,真按这么改就成 Python 3 了,代码不兼容,版本分裂。
如果很在乎里面提到的几个方向,就用他后面提到的语言,然后重走 Ruby 10 年前发展的历程。
哈,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 的 code base 上继续耕耘,其实体现了写代码容易改代码难。Ruby 的历史包袱太重,确实不好进行大的革新,导致 3.0 为了向后兼容也没有太多激动人心的变化。
是一个革命还是改良的哲学问题。
其实 ruby 已经够好了,ruby 3 只是更进一步。大家在期待 ruby3 的同时,也继续学习体验新的东西吧。不要搞得好像只能用一种语言,或者不是用 ruby 当工作语言就不行一样。