赞
踩
干掉以前容易出错的语言。很有可能替换掉c++。
不能指向null,悬垂指针。
1、Rust 完全是内存安全(除非使用unsafe)。这也是Rust 和 C/C++ 的最大区别。
2、因为没有虚拟机,所以不会出现STW。(go语言依然会有STW,因为他还是有虚拟机)。
3、不用写GC,因为他的严格的变量使用机制,让编译器可以知道变量在哪里就结束使用了,所以编译的时候会自动加上回收语句。
c++可以看成一种编程语言的标准,不能把他看成一门编程语言。c++下面有clang,vc,jcc,差异性很大,工具混乱。
c++的系统要想写好,需要一套很强的规范。而rust本身就带了这些规范。rust编译器会约束你。rust更适合应用。
相比c++,rust更工程化,面向工程。
golang,工程化的编程语言,面向的是工程师,而不是学者,即面向应用,而非理论。
2022.2编程语言排行榜 Php又回来了 Go与Rust的时代将要到来吗?_哔哩哔哩_bilibili
Go的哲学是简单易用、性能、高并发、编译快,最适合半路出家学编程的小白,那时候虽然Rust也已诞生但是语法太怪诞,接受不了生命周期的语法。Go的特性大概十几项,都是我极其喜欢的,摒弃了许多之前编程语言的弊病,开创了一些新的设计,可以说是承前启后,大道至简的语言。
如果喜欢开发后端尤其是web服务器,推荐搞Go语言,人生因此而精彩。
Go和Rust的真正的区别就是,Go能做的,Rust都能做,反之却不一定。
Go是谷歌三位大牛开发,仍然有C的影子和根植于谷歌的web基因,最擅长的事情绝对是web服务器之类的高并发场景,这是他的核心目标。
如果要写嵌入式,操作系统,GUI,区块链,高性能3D游戏,VR游戏,除了C/C++,只有Rust可以,其他语言一边站。
Rust的优点之大白话:
编译时间比go慢,简直就是唯一的缺点。
有 Cpp 经验的人,默认其对 C 有一定了解,学习 Rust 时,有如下挑战:
只有 GC 语言使用经验的人,比如 Java、Python、Ruby 、Haskell等,学习 Rust 时面临的挑战和 Cpp 基本相同,但因为使用 GC 语言的人,大部分对底层内存管理没有足够深入的了解,入门曲线会更加陡峭。
学习 Rust 要经历至少三个阶段:
编程零基础,需要补充必要的基础:
需要做到
第一阶段配套学习资料
看这些资料学习的时候,要围绕第一阶段的学习目标:全面了解 Rust 语法。
对 Rust 语法有一个基本了解之后,可以通过官方出品的Rust by example 和 Rustlings 来检验自己的学习成果。
第一阶段练手项目推荐
这里推荐一些练手项目:
主要包含如下概念:
其中 「所有权和借用检查」是重点,只有在掌握了这两个概念之后,才算入门 Rust 语言。
第二阶段配套学习资料推荐
第二阶段练手项目推荐
经过上面两个阶段的学习,可以投入到自己的实际项目中开始学习了。如果没有自己的实际项目,可以参与到开源项目的贡献中去。
比如 Rust 并发和异步开发相关的内容,重点概念中关于类型系统、编程范式、宏、Unsafe Rust 的深入学习和应用,都在这个阶段去完成。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。