替换的相似性

Replacement Similarities

我在上一篇文章中说,我博客的文章点击率比去年上升了20%。我查的原因显然是虚荣心作祟。那天我查的原因是一篇关于 Rust 越来越受欢迎的文章。作为一种精神上的练习,我把那些抛弃他们所使用的语言的程序员所给出的不同理由变成了一个检查清单。

  • 真正的新特性
  • 最小惊喜规则(经常提到)
  • [] 没有朝脚开枪
  • 语言设计者听取社区的意见
  • 完整的工具(经常提到)
  • 库/模块的中央储存库。
  • [] 惯用的代码很快
  • FFI 接口
  • 多平台支持
  • 存储器安全/类型安全/数据竞赛安全
  • [] 快速/低内存占用(经常提到)
  • 向后兼容自身
  • [] 适当的错误处理
  • [] 不强制执行 OOP

这些项目来自文章,适用于 Rust。记号是我看 Raku 擅长的地方,以大写的 X 开头的是我们强强联手的。两种语言的领域是完全不同的。我强烈怀疑是否有人愿意用 Raku 为微控制器写代码。然而程序员关心的东西却形成了相当大的重合。

Rust 文章的另一个方面是该问题参与者的总体基调。所有的用户都来自于不同的语言,并且在痛苦的驱使下,达到了更安全的地步。这意味着他们所有人都在用 Rust 替换 $language,并且喜欢这种方式。Rust 的成功在于把事情做对,就像其他语言把事情做错一样。这几乎是 Perl 6 在2000年的目标。我们也可以在这个框上打勾。

Rust 的核心团队看到了一个非常强大的开放社区,但对于初学者来说,资源却很少。对我们来说也是如此。也许是因为编写初学者指南真的非常难。我们也有同样的弱点。已经有很多针对 Raku 的书籍了。我一直不喜欢这个想法。我可以理解为什么一个有学术背景的撰稿人会想写书。如果你不这样做,你就不是真正的学者。我也能理解为什么学术界对付费墙没有什么意见。是的,书就是工资墙。我以前也爬过这堵墙。我身后的书架上就有 Stroustrup 的《The C++ Programming Language》。然而我怀疑付费墙是否能给我们带来更多的用户。初级指南必须在线,而且要从 raku.org 一键到达。

也是有区别的。Rust 是为了取代 C/C++,作为 Mozilla 制作安全关键软件的工具。当 Raku 发布时,我们并不希望它取代任何东西。并不是因为有很多动态语言需要在短时间内真正快速地被取代。这里有人喜欢 PHP 吗?喜欢 Node.js 的另一个外挂,因为一个模块被拉下来了?不,我们并不是因为想做个好人而想更换东西。营销的重点就是对你想接触的人好,对你的竞争者讨厌。而那些 Rust 的人其实并不擅长营销。当我读到 “rust” 时,我想到的是旧油桶、腐烂的机器,以及另一个不受欢迎的洗手理由。对于程序员来说,名字似乎并不是那么重要。

在2018年初,我做了一个非常简短的激励演讲。我仍然坚持我当时写的内容。然而我对我们取得的成功并不满意。也许是时候停止学习别人的错误,看看迅速成长的语言社区都做对了什么。

by gfldex

comments powered by Disqus