当前位置:网站首页>Dark网站的后端为什么选择F#? - darklang
Dark网站的后端为什么选择F#? - darklang
2020-11-09 00:38:00 【解道jdon】
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#中使用它。我期待最终对Honeycomb,Rollbar和Google Cloud提供第一方支持。
我真正喜欢的另一件事是文档和社区内容的质量。OCaml社区的很多内容都涉及该语言以及您可以使用该语言做什么。企业软件开发人员有数百万篇博客文章等,他们在讨论构建Web软件的最佳方法。
版权声明
本文为[解道jdon]所创,转载请带上原文链接,感谢
https://www.jdon.com/55262
边栏推荐
- leetcode之反转字符串中的元音字母
- When we talk about data quality, what are we talking about?
- android开发中提示:requires permission android.permission write_settings解决方法
- 华为HCIA笔记
- 接口测试工具Eolinker进行post请求
- Computer network application layer
- 装饰器(一)
- A few lines of code can easily transfer traceid across systems, so you don't have to worry about losing the log!
- Introduction and application of swagger
- B. protocal has 7000eth assets in one week!
猜你喜欢
大数据岗位基础要求有哪些?
Copy on write collection -- copyonwritearraylist
C++邻接矩阵
表连接
The vowels in the inverted string of leetcode
SaaS: another manifestation of platform commercialization capability
Have you ever thought about why the transaction and refund have to be split into different tables
为什么需要使用API管理平台
VIM Introduction Manual, (vs Code)
How to deploy pytorch lightning model to production
随机推荐
Huawei HCIA notes
上线1周,B.Protocal已有7000ETH资产!
Copy on write collection -- copyonwritearraylist
Database design: paradigms and anti paradigms
Concurrent linked queue: a non blocking unbounded thread safe queue
Realization of file copy
How to reduce the resource consumption of istio agent through sidecar custom resource
leetcode之反转字符串中的元音字母
对象
常见特征金字塔网络FPN及变体
When we talk about data quality, what are we talking about?
Introduction skills of big data software learning
centos7下安装iperf时出现 make: *** No targets specified and no makefile found. Stop.的解决方案
Teacher Liang's small class
写时复制集合 —— CopyOnWriteArrayList
Computer network application layer
理论与实践相结合彻底理解CORS
Save code
基于链表的有界阻塞队列 —— LinkedBlockingQueue
How does pipedrive support quality publishing with 50 + deployments per day?