Go的成功预示着Rust的成功
该文作者说,从理论的角度,其实很难理解Go语言现在的成功。Go语言设计的非常糟糕。一旦深入了解Go,你会发现,它应该是构建于上世纪80年代的语言,而非21世纪。然而,任何一个使用Go的人,都会告诉你,这是一门很好的语言。作者说,如果他被困在只有三门语言的小岛上面,他希望Go是其中之一。
Go为什么好?
Go有几个重要的功能掩盖了它的不好。
- go get工具轻松下载包
- 静态编译使得各种环境下移植代码比较容易
- 本机异步IO机制可以方便写出高性能网络代码
- 内置通道在go程之间轻松实现相对安全的数据
- 标准库和生态系统包含开发人员的可能需要的大多数库
说白了Go是专门为开源库、大规模并行和网络时代专门设计的语言。
反观Rust,正好是在Go完全失败的场景中拿下了高地
- Cargo胜过了go get
- Rust马上也会有高性能的异步并发
- 而且还支持天生线程安全的多线程编程,基于线程的通道
- 标准库和Go一样丰富
- Go和Rust之间的性能差距会越来越大 (当然是Rust快)
Go效应
- 一旦async/await合并到Rust中,我们可以称Rust是超越Go的优秀语言。Rust支持的并发方式非常全,还默认线程安全
- Rust和Rust的编程概念越来越多地进入到现实世界,那么新手进入的壁垒会越来越低
- Rust中的生命周期已经过了关键的时候。
- Go受欢迎的程度飙升的原因也会适用于Rust,Rust的甜蜜点可能马上要到来了
等异步开发稳定之后,Rust社区会涌入大量的网络服务开发者,洪水将至。
Rust 1.29.2 稳定版发布
关于实现ndarray-csv 的思考
ndarray-csv,一个用于在CSV文件和2D数组之间进行转换的Rust crate。
该文记录了作者实现该库时候的一些思考
1
共 0 条评论, 1 页
评论区
写评论还没有评论