vlambda博客
学习文章列表

Go(Golang)语言和Rust语言哪个更有前途?


01、初识go语言


Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。


Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。2021年1月,go语言TIOBE排名为第13位。



Go语言设计的初衷:


  • 针对其他语言的痛点进行设计

  • 并加入并发编程

  • 为大数据,微服务,并发而生的通用编程语言



02、Rust语言简介

Rust是一门系统编程语言  ,专注于安全  ,尤其是并发安全,支持函数式和命令式以及泛型等编程范式的多范式语言。


Rust在语法上和C++类似  ,但是设计者想要在保证性能的同时提供更好的内存安全。 


Rust语言在2006年作为 Mozilla 员工 Graydon Hoare 的私人项目出现,而 Mozilla 于 2009 年开始赞助这个项目。第一个有版本号的 Rust 编译器于2012 年 1 月发布。Rust 1.0 是第一个稳定版本,于 2015年5月15日发布。


在Stack Overflow的2020年调查中,Rust连续第5年被开发者票选为最受喜爱的编程语言。今年,86%的开发者表示,他们热衷于使用Rust,但只有5%的开发者真正将其用于编程。


03、Go 对比 Rust


(1)相对而言,go语言学习更简单,而rust学习曲线更陡峭,更复杂

(2)go内置了更直接的面向参与者的并发性,处理多线程、高并发更容易

(3)Rust语言更专注于安全

(4)Rust可以几乎完全控制硬件,包括内存布局和处理器功能


根据以上比较,大家可以知道如何选择了