1.1 有C++/C为什么还要学Rust?Rust有什么优点?

本文探讨了为何在已有C++/C的情况下仍需要学习Rust,重点介绍了Rust的安全性、高性能、类型安全以及并发编程的优势。通过对比C++示例,阐述了Rust如何通过所有权和生命周期等机制防止常见编程错误,同时强调了其在生态系统的丰富性。Rust作为一门学习曲线较陡峭但极具潜力的语言,有望在中间件等领域得到广泛应用。
摘要由CSDN通过智能技术生成

缘起

我工作中主要是用C++,也跟了11、17和20标准,在11出来之前写C++程序觉得很难,当然也和刚工作比较菜有关。C++的多范式以及内存控制的颗粒度都很考验开发人员的水平,好的C++开发者能写出艺术般的代码,菜的开发者就GG了,偏底层的还得懂点操作系统,那时候写多线程也痛苦,直到11标准出来才官方支持线程,智能指针才真的在项目中派上用场,一直到20标准才有包管理。所以当Rust刚出来的时候,我就一直想看看,无赖工作和生活确实不太允许我有太多时间干这个事,最近过年终于开始把这个事搞起来了,顺便记记笔记,也分享给对Rust学习感兴趣的人,大家有意见可以直接留言交流,一起探讨。

Rust 简介

本系列文章主要是对比C++/C来学习Rust,当然也会先介绍Rust基本概念。Rust语言是由Mozilla研究院的Graydon Hoare在2006年开始开发的,目标是设计一种类似C++,但是更安全、高效的系统级编程语言。2010年,Rust发布了第一个版本,之后,Rust社区不断壮大,在2018年发布了1.0版本,发布后不久,口碑就一路高飞猛进,从 16 年起,连续 6 年成为 Stack Overflow 用户评选出来的最受喜爱的语言,被广泛认为是未来编程语言发展的重要趋势。

Rust得到了很多国外厂商认可,被广泛应用在工业界,例如Dropbox、Firefox、Fuchsia、Docker等公司和项目中。不过我认为他会大量使用在中间件,而C/C++会去做更底层的部分,而Java会更向应用层发展。

rust对初学者并不友好,即便是有编程基础的人,对诸如变量的所有权、生命周期这些新概念也需要时间去感受去理解。所以他会有一个陡峭的学习曲线,一个好的教程就显得尤为重要,而我就正在做这个事情。

Rust 特点

  1. 安全性:Rust语言通过静态类型系统、内存管理等机制保证程序的安全性,避免常见的缓冲区溢出、数组越界等问题。下述代码中,Rust 编译器会报错,因为在 y 和 z 指向 x 的时候 x 是不可变的,不能进行修改。而在 C++ 编译器可能不会报错,而要等到运行期才会报错。

    fn main() {
         
        let mut x = 10;
        let y = &x;
        let z = &x
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

77尝鲜派

喜欢就赏杯咖啡吧 ~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值