Dark网站的后端为什么选择F#? - darklang


Dark是一家提供构建无服务器后端的网站,使用该网站功能,只需编写您的后端代码,就不会发生基础架构,部署或部署方面的噩梦。如今支持这些功能的后端语言将从OCaml迁移到Dark。下面是他们的经验分享:
Dark的后端是37K行的OCaml,其中8K行是测试,而10K行是Dark标准库。因此,大约有2万行代码要移植。应该很有趣。
最初是希望选择Rust语言。Rust具有出色的工具,完善的库,令人愉悦的社区等。但是花了大约一个月的时间,我不能说我喜欢写Rust。特别是,我不喜欢在Rust中编写异步代码。我喜欢能有一种不错的高级语言,能够满足构建像Dark一样大的项目,但是Rust却不是那样的。接下来,我会发布“为什么Dark为什么不选择Rust”。或者我可以称其为“您永远不会相信垃圾收集器为您做了多少事情!”。
而F与OCaml足够接近,具有强大的库支持,而到目前为止,工具都是强大而又糟糕的组合。90年代的Microsoft工具仍然存在,并且功能还不算太好,但总的来说,这比OCaml或Rust更好。
F#其实也是OCaml。由世界上最大、最有经验的编程语言创建者提供支持。OCaml很棒的地方F#也很棒!总和类型、静态类型、立即执行、管道、不可变值等等所有这些确实很棒。
当然,我选择.NET的主要原因还是因为它的库。具有用于所有内容的库,真是令人惊讶。虽然没有太多的F#第一方库,但是那里的每个供应商都有一个.NET SDK,您可以直接从F#中使用它。我期待最终对HoneycombRollbar和Google Cloud提供第一方支持。
我真正喜欢的另一件事是文档和社区内容的质量。OCaml社区的很多内容都涉及该语言以及您可以使用该语言做什么。企业软件开发人员有数百万篇博客文章等,他们在讨论构建Web软件的最佳方法。