如果 Go 的服务想用另一种语言重写,目前还是 Rust 语言和 C 可选性高一些。
1.学习难度方面,Rust 语言和 C 学习难度比较高,而 Go 语言的学习难度比较低。
2.性能方面,Rust 语言和 C 的性能比较高。
3.安全性方面,C 的安全性比较低,Go 语言安全性中等,Rust 语言安全性比较高。
4.协作方面,Rust 语言的协作能力比较高,Go 语言和 C 的协作等级是中等。
5.使用成本方面,C 使用成本较高,Go 语言和 Rust 语言的使用成本是中等。
那么Rust 和 Go 单独做对比呢?
1.合作关系,取长补短。二者并不是对立关系,而是合作关系,它们是取长补短的。
2.(性能 >> 开发效率) || (安全性 >> 开发效率) -> Rust。对于需要极致性能,重计算的应用,以及需要稳定性并能接受一定开发速度损失的应用,推荐使用 Rust,Rust 在极致性能优化和安全性上的优势可以在这类应用中得以发挥。
3.迭代速度要求高 -> Go。对于性能不敏感的应用、重 IO 的应用以及需要快速开发快速迭代胜过稳定性的应用,推荐使用 Go 语言,这种应用使用 Rust 并不会带来明显的收益。
4.要考虑现有团队的技术储备和人才储备。