Rust在StackOverflow的2021年开发人员调查中再次被评为“最受欢迎”的编程语言。在该特定图表上完成了第六个年头。然而,作为C++的替代开发的编程语言在“最常用编程语言”的总榜单中仍然仅排在第16位,那么为什么Rust如此受到普遍喜爱,为什么这种喜爱还没有转化为主要语言中更突出的位置呢?列表?加入我们,看看Rust的历史、它的演变,并回答经常被问到的(和夸张的)问题“Rust是完美的编程语言吗?”。Rust的历史Rust由Mozilla员工GraydonHoare开发,他将自己描述为“中年......白人,喜欢打瞌睡,阅读历史书籍,与朋友出去玩,并重复观看一打糟糕的80年代电影。“电影”。那么到目前为止还有什么不喜欢的呢?Hoare于2006年开始研究Rust,该项目从2009年开始由Mozilla赞助,直到2014年1月发布第一个稳定版本(Rust1.0),当时技术杂志DrDobb's对Rust的评估发表了评论是:“人们普遍认为它是一种非常优雅的编程语言”。其他人也同意......并且该语言一直流行到去年(2021年),当时Rust基金会成立以“支持维护和发展语言,同时培养Rust项目团队和用户社区”,巩固其在“优雅语言”万神殿中的地位的是五个创始公司成员……Mozilla、微软、谷歌、亚马逊网络服务和华为。因此,Rust不仅是最受欢迎的(根据StackOverflow的说法),它正在收集世界上一些最大的技术公司的支持。但是Rust有什么特别之处?Rust有什么特别之处?Rust最初是为了解决C/C++中的常见问题而开发的。它w创建(和发展)主要是为了解决性能和安全问题。它的语法类似于C++(在最基本的意义上——例如,它不使用空格来缩进),但是作为一种语言,它完全不同,因为它根本不是面向对象的。它的主要好处被认为是解决内存错误(在安全和管理方面)和并发编程方面的问题。在Rust中,有两种编写代码的模式。安全Rust和不安全Rust。SafeRust对程序员施加了额外的限制,以确保代码正常运行,而不安全的Rust给予程序员更多的自主权和灵活性。在安全的Rust中,编译器可以做更多的事情来确保你编写的代码以它期望的方式处理内存。但是,如果您编写需要与C或C++互操作的代码,Rust提供了一个不安全的逃生通道。编写不安全的代码意味着要由开发人员来验证其正确性,因为编译器无法独立验证它。Rust的双模式模型是它相对于C++的最大优势之一,因为在使用C++编程时,您永远不知道自己编写了不安全的代码,直到您的软件崩溃或被发现存在安全漏洞。Rust与其他编程语言的区别之一是它跟踪所有状态所有权,并在编译时告诉您是否有错误。当您听到开发人员抱怨“检查员”时,他们可能指的就是这个。Rust被许多开发人员称为“快速且灵活”,但究竟是什么让它如此呢?它被静态类型化并编译为静态分派,提供特性它提供零成本抽象它跟踪变量它提供代数数据类型并且它存储数据没有任何开销。这一切听起来不错,但采用是任何编程语言的障碍,那么谁在使用这种快速灵活的语言呢?现在和将来谁在使用Rust?在近60,000名专业开发人员中,StackOverflow的调查显示,只有6.4%的受访者积极使用该语言,17%使用C,20%使用C++。那么,为什么Rust还没有超越C++,将来会超越C++吗?虽然专业的Rust开发人员经常将这种语言称为“比C++更好”,因为它具有清晰的语义和防止不必要的行为,但许多人也表示,如果他们正在寻找一种具有良好支持和丰富框架的语言,他们可能会还是选择C++。因此,对于Rust的C++宝座伪装者是否真的会在某个时候推翻它,目前还没有定论。尽管如此,仍有大量证据表明,自从Rust支持进入Linux内核(因此可以用Rust编写驱动程序以帮助捕获全新的错误类别)以来,许多大型科技公司都在使用这种编程语言。以下是一些积极招聘Rust开发人员的企业。MicrosoftTicktickAmazon虽然仍然被认为是一门相对年轻的语言,但Rust也已经成为新兴的类似加密货币的项目、方案和业务的巨大成功,建立在第一层解决方案之上,因此尽管编程语言的发展Rust仍处于起步阶段,但Rust似乎已成为领头羊。Rust是完美的编程语言吗?唔。这么想的人很多。杰克·多尔西就是其中之一。当他被一位开发者挑战时说:“什么是完美的?”。他反驳道:“系统/实时”。特别详细的回复。如果我们回顾一下StackOverflow的调查,当83,000名专业开发人员被问及他们对开发哪种语言感兴趣时……Rust排在第六位。因此,像上面这样来自全球拥有610万粉丝的推文的启示,可能会激起对学习Rust感兴趣的开发人员的激增。更多的开发人员是否意味着更多的采用理由?可能吧。当然,没有完美的编程语言,但从Rust可以提供的好处来看,该语言的流行和使用只会增加也就不足为奇了。Rust已经实现了解决一些普遍存在的问题的目标,这些问题在开发人员社区中引起了许多头痛,同时确保其性能水平同样好(或更好!))。所以也许我们十年后回顾这篇文章时会认为我们是有先见之明的,那时Rust是地球上使用最广泛的编程语言之一......或者,也许编程会有类似的范式转变数学从微积分中获得,即基础模型(即SSI-序列、选择和迭代)的根本变化,以支持不同的结构,从而支持不同的抽象模型。到那时,所有新的编程语言都将是略微“优雅”的SSI形式,并在语法上撒上大量糖分。
