【.com速译】如果要列出过去十年出现的重要编程语言,Go和Rust几乎肯定会榜上有名。同样,如果您坐下来思考当今哪种编程语言最适合开发对微服务友好且安全的框架或应用程序,您可能会发现很难在Go和Rust之间做出决定。如果您无法决定Go还是Rust更适合您的开发需求,请继续阅读。本文比较了Go和Rust,解释了它们的相同点和不同点,以及它们各自的作用。Go编程语言Go(又名Golang)于2009年向公众推出,由Google工程师设计,其中包括因Unix而闻名的KenThompson。Go的开发有很多原因,但开发人员的目标也许可以这样概括:他们只是想要一种语言,提供C++的效率,但经过优化,更容易在多核上编写、阅读和部署CPU。为此,Go的独特功能之一是goroutines,它可以轻松定义作为不同子进程运行的函数。如果充分利用goroutine,开发人员可以轻松地使用Go构建应用程序,同时在多个CPU内核上部署工作负载,以充分利用并发性。并发和优化是强大的功能。这是我们选择在Go中开发Twistlock的原因之一。Rust编程语言Rust的历史在很多方面与Go的历史相似。Rust始于2000年代中期Mozilla一名工程师的个人项目。该语言于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指数将Go列为第15位最受欢迎的编程语言,Rust排名第34位。我知道你不应该随大流,但在编程世界中,选择一种更流行的语言确实有好处。其他程序员更有可能了解他们,这使得共享代码或向团队添加成员变得更加容易。流行的语言也往往有更好的社区支持、文档和插件。我不能就使用Go还是Rust给出明确的建议,那是因为这两种语言都是伟大的现代语言,你最好在决定如何构建新应用程序时同时考虑两者。话虽如此,与大多数程序员一样,我倾向于更倾向于Go,因为它适合更广泛的使用场景,同时仍提供高级别的安全性和性能。原标题:开发者的困境:Go和Rust之间的选择,作者:SonyaKoptyev
