我最近看到的一篇叫做《不要学习「网红」编程语言》,里面提到 Ruby 和 Rails 的衰落,并且告诫大家慎重学习 Ruby。
我看完真的挺想吐槽的……
首先,最近十年中国的网红编程语言怎么排也排不到 Ruby 吧?最红的 Python 已经被培训机构卷成红海,排名第二的网红我不知道应该选 JavaScript 还是 Java,曾经红极一时的 PHP 现在怎么也是网红前三吧?最近一年的网红当属 Go 和 Rust 这对兄弟了。可 Ruby 何时在中国成为网红过?我觉得这篇文章的作者应该是捡软柿子捏,找了个最不红的 Ruby 吐吐槽,可能是以为中国的 Ruby 程序员已经死绝了,可惜我就是 Ruby 程序员……
好吧,不讲国内只看国外,Ruby 确实在国外红过,但 Ruby 在国外也还没死啊。
Tiobe 语言排名中 Ruby 还排在 Rust、Dart、Lua、TypeScript、Clojure 前面。
如果是看趋势,那 PHP 的颓势妥妥地超过了 Ruby:
所以在我看来,Ruby 在国内从来没红过,在国外也不是死得最快的,作者只是挑了个粉丝最少的怼。
其次,不知道作者为什么不推荐学习 Ruby 和 Rails 却推荐 Node.js 和 Python。我虽然也不是很推荐大家学 Ruby on Rails,但是我「更」不推荐 Node.js 和 Python。
Node.js 的 Express 是借鉴了 Ruby 的 Sinatra,为什么我这么说?因为这是 Express 的作者 TJ 在 Express 1.0 beta 的发布日志中说的原话
Yesterday I released Express 1.0.0beta, a Sinatra inspired Node web development framework.
Python 的 Flask 据说也是受 Sinatra 启发而开发的。(我并没有找到原话)
Node.js 的 Yarn 借鉴了 Ruby 的 bundler,以及 Rust 的 Cargo 还有 npm
Node.js 的 SASS 就是从 Ruby 社区拿来的
Node.js 的 Sails.js 后端框架试图模仿 Rails 但是失败了
Ruby 社区有太多经典设计值得程序员搬运到其他语言了。
如果有人叫你不要去看 Ruby / Rails,我猜是他不知道 Ruby / Rails 里有多少宝藏。
读到这里你可能认为我的意思是推荐大家「学」Ruby 和 Rails。但并不是。
我的意思是推荐大家用其他语言去「抄」Ruby 和 Rails。
毕竟用 Ruby 和 Rails 的商业公司很少,所以我推荐大家用 JS、GoLang、Rust、Java 把 Ruby 和 Rails 里面做得好的东西抄袭过来。
但「抄」的前提是你要了解 Ruby 和 Rails。
所以你一定要看看 Ruby 和 Rails 里的宝藏,虽然你大概率不可能靠 Ruby 和 Rails 吃饭,但你可以靠「抄」Ruby 和 Rails 晋升。你没有听错。比如我就曾在阿里巴巴看到有后端用 Java 和 Groovy 造出了一个类似 Rails 的框架,极大地提高了开发效率,广受好评,最后晋升(真事儿)。
后面是我的新项目课介绍,就不贴在这里了。