我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Rust是完美的编程语言吗?

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Rust是完美的编程语言吗?

Rust在Stack Overflow 2021年开发者调查中再次被评为 "最受喜爱的 "编程语言。完成了它在该特定排行榜上的第六个年头。

然而,作为C++的替代品而开发的编程语言在 "最常用的编程语言 "的总榜单上仍然只排在第16位,那么为什么Rust如此受到普遍的喜爱,为什么这种喜爱没有转化为在主要榜单上更突出的位置?

加入我们吧,我们来看看Rust的历史,它的演变,并回答人们经常问的(和夸张的)问题 "Rust是完美的编程语言吗?".

Rust的历史

Rust是由Mozilla员工Graydon Hoare开发的,他描述说他自称是 "中年......白人,喜欢打瞌睡、读历史书、和朋友出去玩、反复看十几部80年代的烂电影"。

到目前为止,还有什么不喜欢的呢?

Hoare于2006年开始研究Rust,该项目从2009年起由Mozilla赞助,直到2014年1月首次稳定发布(Rust 1.0),当时的技术杂志 Dr Dobb’s对Rust的评价是:"人们普遍认为它是一种非常优雅的编程语言"。

其他人也同意......并且该语言继续流行,直到去年(2021年),当 Rust Foundation基金会成立的目的是 "支持语言的维护和发展,同时培养Rust项目团队和用户社区",巩固其在 "优雅语言 "万神殿的地位的是五个创始企业成员......Mozilla、微软、谷歌、亚马逊网络服务和华为。

因此,Rust不仅是最受喜爱的(根据Stack Overflow的数据),它还在聚集世界上一些最大的技术公司的支持。但是,Rust有什么特别之处呢?

Rust有什么特别之处?

Rust最初是为了解决C/C++中普遍存在的问题而开发的。

它的创建(和发展)主要是为了解决性能和安全问题。

它的语法与C++相似(在最基本的意义上--例如,它不使用空格缩进),然而作为一种语言,它有很大的不同,因为它根本不是面向对象的。

它的主要好处被认为是在解决围绕内存错误的问题(在安全和管理方面)和并发编程。

在Rust中,有两种编写代码的模式。安全Rust和不安全Rust。安全Rust对程序员施加了额外的限制,以确保代码的正常运行,而不安全Rust则给了程序员更多的自主权和灵活性。

在安全的Rust中,编译器可以做更多的工作来确保你所写的代码以它所期望的方式处理内存。然而,如果你写的代码需要与C或C++互操作,Rust提供了一个不安全的逃生舱口。

编写不安全的代码意味着要由开发者来验证它的正确性,因为编译器不能独立验证它。

Rust的双模式模型是其相对于C++的最大优势之一,因为当用C++编程时,你永远不知道你写了不安全的代码,直到你的软件崩溃或被发现有安全漏洞。

Rust区别于其他编程语言的关键因素之一是,它跟踪所有的状态所有权,如果有不正确的地方,会在编译时告诉你。当你听到开发者抱怨 "检查器 "的时候,这可能就是他们所指的东西。

许多开发者对Rust的评价是 "既快又灵活",但究竟是什么让它如此?

  • 它是静态类型的,并被编译为
  • 它提供特性的静态调度
  • 它提供了零成本的抽象性
  • 它跟踪变量的所有权
  • 它提供代数数据类型
  • 它存储的数据没有任何开销

这一切听起来都很好,但采用是任何编程语言的障碍,所以谁在使用这种快速和灵活的语言?

现在和将来谁会使用Rust?

在近6万名专业开发人员中,Stack Overflow的调查表明,只有6.4%的受访者在积极使用该语言,17%使用C语言,20%使用C++语言。

那么,为什么Rust还没有超越C++,将来会不会?

虽然专业的Rust开发者经常提到该语言 "比C++好",因为它有明确的语义和防止不需要的行为,但许多人也表示,如果他们正在寻找一种支持良好和框架丰富的语言,他们很可能仍然选择C++。

因此,Rust作为C++王位的伪装者是否真的会在某个时候推翻它,现在还没有定论。

尽管如此,有一系列证据表明,自从Rust支持进入Linux内核以来(因此可以用Rust编写驱动程序,以帮助捕捉全新的错误类别),许多大型科技企业正在使用这种编程语言。这里仅列举一些积极招聘Rust开发人员的企业。

  • 微软
  • 滴答网
  • 亚马逊

虽然Rust仍被认为是一种相对年轻的语言,但它也已成为新兴加密货币类项目、方案和企业的大热门,建立在第一层解决方案之上,

因此,尽管编程语言的发展仍处于起步阶段,但Rust似乎已经有了风向标的作用。

Rust是完美的编程语言吗?

嗯。有很多人都这么认为。

杰克-多尔西就是其中之一。

当他被一个开发者质疑说:"完美的是什么?".他反驳说:"系统/实时",这句话简明扼要,一针见血......但对于这样一个夸张的说法,并不是一个特别详细的回应。

如果我们暂时回到Stack Overflow的调查,当83,000名专业开发者被问及他们对哪种语言的开发感兴趣时......Rust排在第六位。因此,像上面那条来自一个在全球拥有610万粉丝的人的推特的曝光,很可能会引起对学习Rust感兴趣的开发人员的涌动。

更多的开发者意味着有更多的采用理由吗?有可能。

当然,没有完美的编程语言,但通过评估Rust能够提供的好处,该语言的普及和使用只会越来越多,这并不奇怪。

Rust已经完成了它的目标,即解决了一些普遍存在的问题,这些问题在开发者社区中引起了许多人的头痛,同时确保其性能水平与其他更知名的编程语言一样好(甚至更好!)。

因此,也许当我们在十年后回顾这篇文章时,我们会认为我们是先知先觉的,那时Rust是地球上使用最广泛的编程语言之一......

或者,也许编程会有一个类似于数学从微积分中得到的范式转变,即基础模型(即SSI--序列、选择和迭代)的根本变化,以支持不同的结构,进而支持不同的抽象模型。

在那之前,所有新的编程语言都将是稍微 "优雅 "的SSI形式,在句法上洒上大量的糖。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Rust是完美的编程语言吗?

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Rust是完美的编程语言吗?

Rust不仅是最受喜爱的(根据Stack Overflow的数据),它还在聚集世界上一些最大的技术公司的支持。但是,Rust有什么特别之处呢?

go语言是编程语言吗

go语言是编程语言。go语言又称Golang,是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go语言的推出,旨在不损失应用程序性能的情况下降低代码的复杂性,具有“部署简单、并发性好、语言设计良好、执行性能好”等优势。
2022-11-28

最安全的编程语言:Rust

在“安全优先”、“安全左移”、“供应链安全”的大趋势下,Rust作为一种更安全的编程语言越来越流行。

oracle是编程语言吗

oracle 并非编程语言,而是一个数据库管理系统 (dbms),用于存储和管理数据。虽然 oracle 提供自定义功能,但它缺乏编程语言的关键特征,如变量声明、控制流和循环。它提供 pl/sql 等工具,用于在 oracle 数据库上创建
oracle是编程语言吗
2024-04-19

html是编程语言吗

HTML是一种标记语言,用于创建网页。虽然HTML经常被视为一种编程语言,但事实上,它并不是编程语言,而是一种标记语言。HTML代表超文本标记语言,是一种使用标准标记(标记)来注释和描述网页元素的语言,例如页面标题、表格、段落和链接。HTML不是代码,但它确实由代码构成。HTML中的代码称为标记。标记是包含在尖括号中的文本,例如`<html>`和`<p>`。标记告诉浏览器如何处
2023-05-14

Rust编程语言到底是不是炒作的噱头?

Rust是一种系统编程语言,由于独特的安全、性能和并发性支持,近年来备受关注。作为一名开发人员,你可能想知道Rust是否适合下一个项目。我们在这篇博文中将探讨2024年Rust流行背后的原因以及它如何改善你的开发体验。

Golang 语言是面向对象编程风格的编程语言吗?

本文我们介绍了 Golang 语言是否是面向对象编程风格的语言,并给出了 Golang 语言官方的回答和解释。然后使用示例代码介绍了 Golang 语言的面向对象编程风格。

Go语言究竟是一种编程语言吗?

标题:Go语言究竟是一种编程语言吗?Go语言,也被称为Golang,是一种开源的静态类型编程语言,由Google开发。自诞生以来,Go语言在编程领域中逐渐崭露头角,备受程序员们的关注和喜爱。但有人提出质疑,究竟Go语言是不是一种真正的编程
Go语言究竟是一种编程语言吗?
2024-03-07

Rust 编程语言中的所有权ownership详解

这篇文章主要介绍了Rust 编程语言中的所有权ownership详解的相关资料,需要的朋友可以参考下
2023-02-16

Go 与 Rust:现代编程语言的深度对比

Go 和 Rust 都是现代、高效的编程语言,它们各有所长。选择哪种语言取决于项目需求、团队熟悉度和性能要求。了解每种语言的特点将帮助开发者做出更合适的选择。

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录