首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Rust 能够取代 C 语言吗?

作者:Evrone Rust 是 Mozilla 基金会的一个雄心勃勃的项目,号称是 C 语言C++ 的继任者。...一直以来,C/C++ 中的一些基本问题都没能得到解决,比如分段错误、手动内存管理、内存泄漏风险和不可预测的编译器行为。Rust 的诞生就是为了解决这些问题,并提高安全性和性能。...主要特性 强静态类型; 无垃圾回收以及通过指针手动控制数据存储位置的能力; 强大的内置静态代码分析器,有助于避免与内存管理和多线程相关的问题; C 语言风格的语法,具有简短的关键字。...Rust 的未来 C++ 已经统治了编程语言领域近 40 年,成为了一个行业标准,并保持这个头衔至今。Rust 正在积极演进,试图解决 C++ 和其他编程语言当中最为致命的缺陷。...Rust 的另一个应用——也就是我们的持续集成服务 Vexor。在这个服务中,Rust 负责任务的管理和调度以及日志管理,并作为任务隔离执行代理的基础。

2.3K20

Linux之父:我们不会用Rust取代C语言开发内核

gcc 对 Linux 的发展起到了很大作用,因为我肯定需要一个 C 语言编译器。Lars Wirzenius 是我在念大学时另一个说瑞典语(瑞典语在芬兰是小语种)的计算机系学生。...Jeremy Andrews:如果用 Rust 来重写一部分系统会怎样?在这方面还有改进的余地吗?在内核开发方面,你觉得是否有可能用另一种语言(比如 Rust)来取代 C 语言?...Linus Torvalds:我不认为我们会用 Rust 取代 C 语言来开发内核,但可能会用来开发一些驱动程序,也许是整个驱动子系统,也许是文件系统。...所以不是“取代 C 语言”,而是“在一些有意义的地方扩展我们的 C 代码”。...可能“有些人会用 Rust 开发新驱动程序,或者适当地重写一部分旧驱动程序”。 现在更多的是“人们在尝试和体验”Rust,仅此而已。

94750
您找到你想要的搜索结果了吗?
是的
没有找到

微软计划使用 Rust 取代 CC++

新智元推荐 来源:InfoQ 作者:王文婧 【新智元导读】微软近日提出,未来将使用 Rust 作为 CC++ 以及其他编程语言的替代方案,以改善应用程序的安全性的计划。...近日,微软安全响应中心(MSRC)团队在官网更新文章,就近日提出的最新计划,即未来将使用 Rust 作为 CC++ 以及其他编程语言的替代方案以改善应用程序的安全性的计划,从空间内存安全、时间内存安全...Rust 的优势 多年来,微软始终在寻找更安全的 CC++ 的替代品。...2016 年 6 月,微软曾开源 “Checked C”,这是 C 语言的一个扩展,它带来了一些解决安全问题的新特性,但依然没有彻底解决问题。...相比之下,在这项调查中,受访者将 C 列为第四个最讨厌的编程语言C++ 则排名第九。 ? ?

1K20

为什么永远不会有语言取代 C C++ ?

CC++ 不限制内存访问,提供手动的内存管理操作,让程序员按照自己的意愿控制程序,从而把自由给了程序员。当你用 C/ C++ 编写程序时,你的源代码将有效地执行你指示的操作,就是这样。...Rust 无疑是一种很好的语言,具有内存安全、高性能和内置特性,但是 Rust 语法对于第一次编写代码的开发人员并不友好。...例如,最流行的 Web 服务器软件,如 Apache HTTP 和 Nginx,就是使用 C/ C++ 作为实现语言。 以前的程序员几乎用 C/ C++ 编写了所有流行的内部网络浏览器和网络软件组件。...一些程序员认为像 Rust、Go、D 和 Carbon 这样的流行语言可以替代 C/ C++。同时,一些程序员考虑使用这些语言作为 C/ C++ 的备选品,认为它们在未来可能取代 C/ C++。...这些现代语言是为特定的目的和需求而设计的——而不是取代 C/ C++。 微软创建了 TypeScript,但我们仍然使用 JavaScript。

64320

为什么永远不会有语言取代 C C++ ?

CC++ 不限制内存访问,提供手动的内存管理操作,让程序员按照自己的意愿控制程序,从而把自由给了程序员。当你用 C/ C++ 编写程序时,你的源代码将有效地执行你指示的操作,就是这样。...Rust 无疑是一种很好的语言,具有内存安全、高性能和内置特性,但是 Rust 语法对于第一次编写代码的开发人员并不友好。...例如,最流行的 Web 服务器软件,如 Apache HTTP 和 Nginx,就是使用 C/ C++ 作为实现语言。 以前的程序员几乎用 C/ C++ 编写了所有流行的内部网络浏览器和网络软件组件。...一些程序员认为像 Rust、Go、D 和 Carbon 这样的流行语言可以替代 C/ C++。同时,一些程序员考虑使用这些语言作为 C/ C++ 的备选品,认为它们在未来可能取代 C/ C++。...这些现代语言是为特定的目的和需求而设计的——而不是取代 C/ C++。 微软创建了 TypeScript,但我们仍然使用 JavaScript。

97320

Rust 接棒 C 语言:盘点那些用 Rust 重写的知名 C 项目

本系列文章第一篇参见:《Rust 接棒 C 语言Rust for Linux 中正在发生的技术变革》 前文介绍了 Rust for Linux 中正在发生的 Rust 接棒 C 语言的变革,本文继续来探索还有哪些知名的...在 Ockam 的早期阶段使用 C 语言开发,然后在几个月后决定放弃那数万行 C 代码并改用Rust 重写[17]。下面是 Ockam 用 Rust 重写 C 的故事。...这就是 C 语言严重不足的地方。Ockam 团队在 C 语言中尝试暴露安全简单的接口并不成功。在每次迭代中,他们发现应用程序开发人员需要了解太多关于协议状态和状态转换的细节。...这意味着任何能够静态或动态链接并调用 C 库中函数的语言或运行时环境也可以以完全相同的方式链接并调用Rust 库中的函数。由于大多数语言支持 C 中的本地函数,它们也已经支持 Rust 中的本地函数。...另一个显著的重要方面是,在Rust中, async/await 与其他语言(如Javascript)中的 async/await 有一个重要的区别,就是它的异步运行时(tokio/async-std)是可插拔的

54810

Rust解决C语言的隐患

题记:相对于其它语言,使用Rust开发更能避免低级错误。 简介 对笔者而言,Rust越用越顺手,接触越多也就越不能抵抗它的魅力,也因此才有了本文的诞生——希望大家能了解到这种语言的妙处。...对大众来说,Rust最大的卖点在于它能确保代码的安全性,这是Rust相对于C语言的一个极大优势,也是令Rust与众不同的关键所在,这也是本文的重点。...为了让大家对Rust的优势有所了解,我们选择了这个地方入手——Rust是如何令开发者的日常工作更加轻松、更加惬意的。本文详细列举了样例,阐明Rust是如何完全地消弭那些继承自C语言的诸多隐患。...隐患 空指针引用(NULL Dereference) 声名狼藉的程序分段错误(Segmentation Fault)是C语言的常见问题,而通常NULL dereferences是第一大诱因。...与C语言不同,在返回reference时,Rust的编译器会确保相关内容可有效调用,也就是说,编译器会核实返回的reference有效。即Rust的reference总是指向有效内存。

2K50

Rust 接棒 C 语言Rust for Linux 中正在发生的技术变革

我们不写机器代码,不写汇编,是因为我们用 C 语言代替了它们,现在又用 Rust 代替 C。所以我不认为它(用 AI 生成代码)是一件革命性的事。每天的新闻都是关于人工智能的,这显然不是我的工作领域。...我依然喜欢底层硬件细节,这就是为什么我还在 Linux 内核工作。 Drik: 你认为大模型能达到可以帮助你们审查代码的程度吗?以便解决前面提到的维护者持续性的问题。 Linus: 我希望如此。...后记 Rust 接棒 C 语言,正在 Rust for Linux 中悄然开启。语言的转换背后,是新一代开发者接棒老一代开发者。相信 Linus 找到了合适的语言,让 Linux 社区持续繁荣。...但我们也看到 Rust 接棒 C 还面临很多问题,主要的问题是 RustC 两个不同的语言社区的开发习惯和思维的冲突,这个问题肯定会被解决,这也是我关注 Rust for Linux 社区的一个原因...近日,又看到国际五眼联盟机构(Five Eyes agencies urge)督促放弃或减少使用 C++ 编程语言,建议优先选择 Rust[6]的一份报告,这说明五眼联盟的五个国家的情报机构在推动这一变化

27510

Rust 接棒 C 语言Rust for Linux 中正在发生的技术变革

我们不写机器代码,不写汇编,是因为我们用 C 语言代替了它们,现在又用 Rust 代替 C。所以我不认为它(用 AI 生成代码)是一件革命性的事。每天的新闻都是关于人工智能的,这显然不是我的工作领域。...我依然喜欢底层硬件细节,这就是为什么我还在 Linux 内核工作。 Drik: 你认为大模型能达到可以帮助你们审查代码的程度吗?以便解决前面提到的维护者持续性的问题。 Linus: 我希望如此。...后记 Rust 接棒 C 语言,正在 Rust for Linux 中悄然开启。语言的转换背后,是新一代开发者接棒老一代开发者。相信 Linus 找到了合适的语言,让 Linux 社区持续繁荣。...但我们也看到 Rust 接棒 C 还面临很多问题,主要的问题是 RustC 两个不同的语言社区的开发习惯和思维的冲突,这个问题肯定会被解决,这也是我关注 Rust for Linux 社区的一个原因...近日,又看到国际五眼联盟机构(Five Eyes agencies urge)督促放弃或减少使用 C++ 编程语言,建议优先选择 Rust[6]的一份报告,这说明五眼联盟的五个国家的情报机构在推动这一变化

23710

Rust 接棒 C 语言Rust for Linux 中正在发生的技术变革

我们不写机器代码,不写汇编,是因为我们用 C 语言代替了它们,现在又用 Rust 代替 C。所以我不认为它(用 AI 生成代码)是一件革命性的事。每天的新闻都是关于人工智能的,这显然不是我的工作领域。...我依然喜欢底层硬件细节,这就是为什么我还在 Linux 内核工作。 Drik: 你认为大模型能达到可以帮助你们审查代码的程度吗?以便解决前面提到的维护者持续性的问题。 Linus: 我希望如此。...后记 Rust 接棒 C 语言,正在 Rust for Linux 中悄然开启。语言的转换背后,是新一代开发者接棒老一代开发者。相信 Linus 找到了合适的语言,让 Linux 社区持续繁荣。...但我们也看到 Rust 接棒 C 还面临很多问题,主要的问题是 RustC 两个不同的语言社区的开发习惯和思维的冲突,这个问题肯定会被解决,这也是我关注 Rust for Linux 社区的一个原因...近日,又看到国际五眼联盟机构(Five Eyes agencies urge)督促放弃或减少使用 C++ 编程语言,建议优先选择 Rust[6]的一份报告,这说明五眼联盟的五个国家的情报机构在推动这一变化

23110

D语言架构师Andrei Alexandrescu谈D、Go、Rust取代CC++

【编者按】本文是D语言联合创始人、架构师Andrei Alexandrescu在问答Quora上关于“在取代C语言的道路上,D、Go和Rust谁的前途最光明?为什么?”...提问的回答,他从自己的角度谈及了D、Go和Rust取代C/C++语言的优劣势,以及这三种语言的未来。...首先,C++在这个问题上处在一个特殊的位置,无论它是否会像C一样被取代,亦或是成为替代C语言C++都是程序语言领域中的一个关键部分。...D语言同垃圾收集器的关系。GC是一项伟大的发明,但是将其用于D语言的决定使D远离了核心市场(也就是现有的CC++开发人员)。...我认为Rust面临着一些有趣的挑战: 一个不和谐的特性。阅读任何数量的Rust代码都能让人想起这个笑话“朋友们不要让朋友跳腿日”和体格强壮的男人躺在廋腿上休息的漫画形象。

1.7K70

继承c语言rust适合游戏开发吗

尽管很难追溯到所有这些游戏的编写语言,但许多游戏都是用C语言编写的,这给编写它们的程序带来了困难。 Rust被吹捧为C的继任者之一。...这反过来又使问题再次出现–如果C难以编码,那么Rust到底有什么不同? 这个问题的答案在于Rust的方法。Rust主要是由Mozilla Foundation设计为系统编程语言的。...在过去的20年中,主要的游戏开发语言主要是C / C ++。Rust带来了方法的全新变化-从面向对象到面向数据。...尽管像Unity和Unreal 这样的主要游戏引擎尚未支持Rust进行游戏开发,但仍有一些完整的游戏引擎可让您使用Rust的框架来创建完整的游戏。 第一个是活塞。它是Rust最早的游戏引擎。...借助面向数据的方法,轻松的内存管理以及对低级性能增强技术的访问,Rust可以在不久的将来成为成熟的游戏开发语言

1.7K20

RustC++和Go语言有哪些区别?

RustC++和Go语言都是与系统级编程密切相关的编程语言。然而,它们之间仍然存在一些区别。...内存安全性Rust是一门注重安全性的编程语言,与C++和Go语言相比,它通过静态检查或者borrow-checking,在编译时对于内存的使用进行了限制,从而消除了内存安全问题,例如空指针和缓冲区溢出等问题...2.性能就性能而言,RustC++表现得非常类似,这两门语言都面向底层,没有垃圾回收,因此运行效率非常高。...Go语言虽然也是面向底层的语言,但由于其垃圾回收机制,执行效率不如RustC++,但在并发编程上表现优异。3.并行性在并行编程方面,C++和Go都提供了特定的线程池和并发机制。...相对于C++,Rust允许更亲自动态运行时转向或动态实现多态性,这更允许正式的运行时检查。 综上可知,RustC++和Go语言都具有各自的优势和特点。

77010

为什么永远不会有语言取代 C++? | 极客时间

说起 C++,很多人的第一反应就是:复杂、难学,事实也的确如此。但不可否认,C++ 在近 30 年里经久不衰,并且现在学习 C++ 的人还在逐年增长。 究其原因,是 C++ 有着独特优势。...C++ 是编程语言中的“万能选手”,它的适用领域非常广泛,许多新的编程语言都从它身上汲取了设计灵感。...作为一门接近底层的语言,它可以帮你更好地理解计算机系统的应用机制,提升混合编程的能力,学完 C++,再学其他的语言,就会感觉容易很多。...在运行效率要求比较高的行业,如游戏、高效服务器等, C++ 更是有着不可比拟的优势。熟练的 C++ 工程师自然也获得了“高水平、高薪资”的名声,这也就是为什么有这么多人都在硬着头皮继续学。...是的,学习 C++ 最缺乏的就是一个“导师”,他能帮你跨越从课堂到现实的“鸿沟”,告诉你实际工作时会遇到哪些问题,又该怎么处理。

70610

2021最受欢迎的编程语言排行:苹果编程语言Objective-C被Swift取代

新智元报道 来源:zdnet 编辑:LZY 【新智元导读】苹果公司的Objective-C最终退出了Tiobe跟踪的流行编程语言的前20名,但是「恐龙」语言却获得了意想不到的推动,Swift语言取代...被选入Tiobe指数的编程语言必须满足3个必备条件: 1 它在维基百科有属于自己的词条,且维基百科清晰地陈述了它是一门编程语言,这就是为什么(Ruby on) Rails, Excel, Android...本月排名Tiobe前10位的编程语言是:C,Java,Python,C++,C#,Visual Basic,JavaScript,汇编语言,PHP和SQL。...Swift语言取代Objective-C的时代来了? 根据Tiobe于2021年4月发行的名单,Objective-C最终跌落了前20种最受欢迎的语言。...Object-C(下面简称 OC)和Perl语言从2017到2018跌落超过3个名次,OC名次跌落的原因不难推测出苹果公司这几年在慢慢开始抛弃OC,用Swift进而取代。 ?

89310

取代C++?谷歌开源编程语言Carbon,网友评价太真实了

机器之心报道 编辑:杜伟、陈萍 目‍前,Carbon编程语言正处于实验阶段。 在编程语言的世界中,C++的地位举足轻重。在2022年5月的TIOBE编程语言排行榜中,C++位列第四。...下图左为C++代码,右为Carbon编写的相同函数: 为何不大力发展Rust语言呢? 有人或许会问了:最近有专门为解决内存安全性能应用的需求而构建的Rust语言,为何不直接使用它呢?...Carruth对此表示,如果Rust适合你,就继续使用。但是,将C++的生态系统转移到Rust非常困难。...相比之下,Carbon是建立在已有C++生态系统之上,适合那些已经拥有大量C++代码库的开发人员,这些库很难转换到Rust。...例如2006年谷歌开源Go语言,其目标是兼具Python 等动态语言的开发速度和C/C++等编译型语言的性能与安全性,短短几年,Go成为最热门语言之一,许多大公司用Go来开发自己的产品。

87210

论文导读 | 性能与生产力 : Rust vs C语言

Rust 语言诞生之后,它天生为并发和安全而设计,并且借鉴了面向过程/面向对象/函数式等语言的特点。Rust 的目标在性能方面对标 C 语言,但在安全和生产力方面则比 C 更胜一筹。...这篇论文就是比较研究 RustC 语言在 性能和 编程效能(Programming effort)两方面,看能否确定 Rust 是一种保持一定性能水平的同时拥有更少工作量(更高的编程效能和生产力)...如果是这样,那么 Rust 则是 HPC 领域的绝佳替代品。 之前 Rust 社区也探讨过如何确定 Rust 生产力的问题,那么这篇文章就是一个启示。本文并非论文完整翻译,只是一些重点摘要。...先来看看代码行数: C Rust Main 66 40 Total 219 195 Rust的优势在于,作为一种具有高级语言的一些特征的语言,它既是函数式的,也是面向对象的,它可以开发出比C语言更紧凑...在双精度方面,性能结果很接近,但在单精度方面,C版本的性能要好一些。这是因为Rust对这种数据类型的数学运算的优化不如C语言好。

2.4K30

CC++不安全?谷歌宣布Android加入对Rust语言支持

对于这些内存安全问题,谷歌表示除了优化内存错误检测机制外,最有效的解决办法是采用内存安全语言。Java 和 Kotlin 等托管语言是 Android 应用开发的最佳选择。...较低层级的 OS 需要系统编程语言,如 CC++ 和 Rust。这些语言设计时考虑到了可控和可预测性的目标。它们提供对低级系统资源和硬件的访问,资源较少,并具有更可预测的性能特征。...Rust 使用编译时检查(强制执行对象生命周期 / 所有权)和运行时检查(确保内存访问有效)的组合来提供内存安全保证。提供这种安全性的同时,Rust 的性能表现足以媲美 CC++。...大约 50% 的错误发生在一年之内 谷歌表示,用 Rust 重写数千万行的 Cc++ Android 代码根本不可行,而重写旧的 Android 不会有太大影响,因为到目前为止旧代码已经清除了大部分...无论如何,向 Android 平台添加新的开发语言支持是一项大工程。

52610

Rust 视界周刊 Week 5 | 驳 “Rust 等内存安全语言的安全性并不优于C++”

本次演讲介绍了从基于 C 的 HermitCore 到基于 Rust 的 RustyHermit unikernel 的过渡。 video[25] 用现代语言 Rust 重新实现 Coreutils。...Rust 社区对 Stroustrup 博士关于 "Rust 等内存安全语言的安全性并不优于C++" 言论的回应 美国国家安全局(NSA)最近发布了一份关于内存安全重要性的网络安全信息表,他们在其中建议从内存不安全的编程语言...(如 CC++)转移到内存安全的编程语言(如 Rust)。...C++ 之父 Bjarne Stroustrup 博士的回应“Rust 等内存安全语言的安全性并不优于C++”。...而 Rust 语言则专注于解决内存不安全的问题。C++ 不强制将内存安全作为编程语言的一项功能。这在未来可能会改变(正如 Stroustrup 博士所讨论的那样),但这是目前的情况。

91080
领券