为什么我们没有选择Rust?( 二 )
由于Rust提供了非常全面的错误消息和文档 , 我们很容易忘记它实际上是一种非常底层的语言 。 我们被社区和种种工具所吸引 , 以至于忘记了底层的语言实际上很糟糕 。 也许Rust远非大多数底层语言可比 , 但请记住垃圾收集器很棒 。 在使用GC的时候 , 我们无需处理任何可能会导致Rust出现问题的工作 。 也许这会降低性能 , 但是对我来说 , 能够快速编写代码的能力远胜于额外的性能 。
评论1:我不太理解文中有关异步的讨论 。 由于Rust对于线程、Sync、Send和async接口函数的要求 , 导致异步编程非常困难 , 但我感觉他们是在没有理解需求的情况下试图将代码改成异步 。 实际上根本没有必要 。 你也可以使用传统的回调函数方式使用异步API , 不需要使用Rust的异步机制 , 你也可以使用线程 。 如果你不喜欢Rust的异步(或者不会用) , 那就不需要用 。
诚然 , 现在Rust的async有许多不招人喜欢的地方(许多问题已经在解决中) , 但直接用线程不就好了?
读完之后我认为切换到F#(或OCaml)是一个正确的选择 , 因为这样可以得到语义相近的好处 。 但批评Rust的一些论点实在不敢苟同 。 似乎就是在说 , 不用Rust是因为Rust没有好用的GCP库 , 而他们不想自己写垃圾回收 , 但仅此一点貌似篇幅不够 , 所以加了许多别的东西 。
评论2:【为什么我们没有选择Rust?】我认为作者遇到的许多问题都是因为他想用Rust来写F#或OCaml的代码 。 尽管Rust建议你将应用程序按照“全局函数式”的方式组织(例如 , 避免使用共享可变状态) , 但如果你想使用小范围的函数式概念:递归、高阶函数等 , 那将是一场灾难 。
而最终他遇到的异步递归或pinning的问题有一半是由于他不够专业 , 因为我写了将近一年的Rust异步 , 从来没遇到过类似的问题 。
原文:
本文为 CSDN 翻译 , 转载请注明来源出处 。
文章插图
文章插图
文章插图
点分享
文章插图
文章插图
- 看不上|为什么还有用户看不上华为Mate40系列来看看内行人怎么说
- 拍照|iPhone12还没捂热13就曝光了,屏幕、信号、拍照均有升级!
- 制药领域|为什么AI制药这么火,为什么是现在?
- 手机|新鲜评测:让手机变身电脑的显示器见过没?只用4步即可完成!
- 退费|女子公众号上买菜,出现问题时已充上万元,公司:我们没有退费规矩
- 自助|新型通道-健康码自助核验闸机
- 手机壳里头|为什么要在手机壳里面夹钱?10个有9个不懂,我才知道大有讲究
- 短视频|全球最火APP?抖音爆火背后离不开这几剂“猛药”为什么抖音能够这么火?
- 电商快递|包邮不香吗,为什么还有人加49元让小哥穿西装专车送快递?
- 却是|海外最受欢迎的国产手机,不是小米华为,却是这个大家都没听过的品牌