如何在Go和Rust之间选择,学习哪种语言?
如果您要列出过去十年中出现的重要编程语言列表,那么Go和Rust几乎肯定会在其上展示。
同样,如果你坐下来考虑哪种编程语言最适合开发安全,微服务友好的框架或应用程序,你可能会发现自己在Go和Rust之间进行争论。
如果您正在努力决定Go或Rust是否是满足您发展需求的更好语言,请继续阅读。这篇文章比较了Go和Rust,解释了它们是如何相似的,它们是如何不同的,以及它们可以为你做些什么。
Go编程语言Go
于2009年向公众推出,Go(也称为Golang)由Google工程师(包括Unix名望的KenThompson)设计。Go的创建背后有各种各样的动机,但是开发人员的目标也许可以简单地说他们想要一种提供C++效率的语言,但是更容易在多方面以优化的方式编写,读取和部署核心CPU。
为此,Go的一个显着特征是goroutine,这使得定义作为不同子进程运行的函数变得容易。通过利用goroutines,开发人员可以轻松地在Go中构建应用程序,同时通过跨多个CPU核心部署工作负载来充分利用并发性。
并发和优化是强大的功能。它们是我们选择使用Go开发Twistlock的部分原因。
Rust编程语言Rust
的历史在许多方面与Go的历史相似。Rust诞生于一个Mozilla工程师的个人项目,始于2000年代中期。该语言于2010年公开发布。
像Go一样,Rust的动机部分是希望改进C++的约定,包括使它更容易实现并发。以不损害安全性的方式这样做也是首要考虑因素。为此,Rust使开发人员很难在代码中引入漏洞,导致缓冲区溢出或其他与内存相关的漏洞。
Go和Rust的共同之处
在很多方面,Go和Rust是相似的。它们都是当今最广泛使用的最年轻的编程语言之一。(今天的大多数其他流行语言,如C,Java和Python,都相当古老。)
Go和Rust是编译语言,都是开源的,都是为面向微服务的现代并行计算环境而设计的。
如果你已经了解C++,它们都很容易学习。
Govs.Rust
这可能会让你疑惑,“我应该使用Go还是Rust来开发我的下一个应用程序?”
有很多方法可以解决这个问题,但我建议您考虑一下您正在构建的应用程序类型。对于我的钱,Go迎合了更广泛的用例,并且更加灵活。Go使得构建一个很好的因子应用程序变得非常容易,该应用程序在被部署为一组微服务时充分利用了并发性。
Rust也可以做这些事情,但可以说有点难度。在某些方面,Rust对防止与内存相关的安全漏洞的痴迷意味着程序员必须竭尽全力执行其他语言(包括Go)更简单的任务。
请注意,顺便说一下,这并不意味着Go是不安全的。Go和其他任何现代编程语言一样安全。它只是不像Rust那样对安全性着迷,或者允许安全性优先于更广泛的功能。
简而言之:Rust更难以使用,并且更倾向于构建具有狭窄范围的应用程序,其中安全性是唯一真正重要的事情。相比之下,Go非常适合构建应用程序,不仅关注安全性,还关注各种其他因素-如果您是一个旨在构建灵活,可扩展的应用程序或框架的DevOps团队,那么这可能是您的目标。
值得注意的是,Go在今天的开发人员中更受欢迎。在TIOBE指数排名围棋在15最流行的编程语言,而锈坐在第34位。我知道你的母亲告诉你,你不应该只因为其他人而做某事,但在编程领域,选择更受欢迎的语言会有很大的好处。其他程序员更有可能了解它们,这使得共享代码或向团队添加成员变得更加容易。流行语言也往往有更好的社区支持,文档和插件。
如果听起来我对于是否使用Go或Rust做出明确的建议犹豫不决,那是因为我。两者都是优秀的现代语言,在决定如何构建新应用程序时,您最好考虑两者。
也就是说,就像大多数程序员一样,我倾向于更倾向于Go,一般来说,因为它适用于更广泛的用例,同时仍然提供高水平的安全性和性能。
主题测试文章,只做测试使用。发布者:最新稳定辅助网,转转请注明出处:https://www.744broad.com/14057.html