杀死Haskell的人也可能杀死Rust · GitHub


Haskell和Rust有着密切的联系。Rust的大部分样式在很多方面都与Haskell的样式相似。从某种意义上说,Rust是Haskell的转世,带有一点类似于C的语法,数量很少。
 
Haskell死了吗?
曾经有一段时间Haskell是值得一看的语言。在2000年代后期到2010年代,Haskell是每个人都希望可以使用的编程语言,但是除了少数人之外,没有人能做到。在Haskell中完成了一些令人印象深刻的项目。已经完成了大量的财务项目。
为什么Haskell突然间漂亮地停了下来?现在肯定还活着。没有人再考虑在Haskell进行重大项目了。谁是GHC Haskell程序员?GHC Haskell的方言已经属于一种学术语言。
Haskell当时处于函数式编程的最前沿。正是该语言表征或概括了FP的真正含义。2000年代中期有两个主要竞争对手:Scala,JavaScript。最终有Golang和C ++成为关注者。Haskell带领他们。这些语言从Haskell学到了很多东西。现在,任何做Scala的人都知道for-forhension和许多库的语法直接来自Haskell世界。
Haskell编写和交付速度比Scala应用程序或C ++应用程序快五倍。Haskell以许多有趣的方式进行统治,但它死了。是什么杀死了它?
我在这里要用一个词:“傲慢”。
你们中有些人可能还记得2000年代中期的Reddit讨论。一堆人在那里谈论很酷的数学问题。在这些谈话中,他们经常嘲笑其他语言,例如Go,但那时我是golang的追随者!我不喜欢他们这样。 
Haskell社区中存在一种态度,再一次,这不是一种邪恶的态度,也不是出于恶意而诞生的。但是有一种态度说:“您知道,我们的工具是如此出色,我们的语言如此出色,我们不需要遵守规则。我们可以做些其他的事情。我们不必与其他人交谈。我们不必执行其他程序。”
Haskell人不想执行常规程序。他们不想处理公司数据库。他们不想面对已经演变了二十年的可怕模式。真是令人讨厌。他们找到了使用类别理论和从属类型的方法。他们在自己周围筑了一堵墙,他们选择生活在技术泡沫中。与外界的邪恶隔绝。
让我们将“进步”重新定义为:“仅仅因为我们可以做某件事,不一定就一定要做那件事”。
因此,杀死Haskell的是狭隘主义,无法解决企业的需求。
Haskell在某些限制条件下表现出色,但是它的能力有限,或者是用户希望解决企业一般问题的能力受到限制。
 
有什么可以使Rust摆脱与Haskell相同的道路?
记住可能是2000年代最有影响力的语言的命运。纯函数范式开始的语言,影响了我们目前正在做的很多事情的语言。这种语言的命运几乎被遗忘了。使用它并热爱它的人们不得不跳到Scala谋生,差点杀死了他们。
我们拥有Rust语言的强大工具。我们也许会通过弄乱来杀死了它,也许通过自大来杀死了它,我们也会通过忽略企业来杀死它。我建议我们不要走那条路。

  • 第一个是纪律。编写文档的纪律。如果您编写代码,您应该编写该死的文档。当所有人都已经发现说“我要写一个好的文档,以便其他人可以轻松地使用我的工作”是多么困难时,为时已晚。
  • 谦卑的专业精神也可能会阻止这种消亡,这与Haskell所经历的消亡一样。区别“我们与他们”其实是傲慢滋生的对立态度(banq注:A为B服务,这里区分了A和B是两类人,虽然字面上有服务两个字),还有一些有趣的对立广告,例如“ Mac vs PC”;“我是Rails,我是Java”。我认为如果您认真对待它,它就不会有任何危害。
  • 最后一件事是接受解决“肮脏”问题。解决可怕的模式问题。我们将不得不坐下来说:“不,我们会处理这个问题”。如果我们最终要生存,就必须解决每个人都遇到的问题。否则,其他人将解决这些问题。