连续五年受开发者欢迎一门编程语言,不会就不礼貌了

开发 前端
Rust语言在2006年作为 Mozilla 员工 Graydon Hoare 的私人项目出现,而 Mozilla 于 2009 年开始赞助这个项目。第一个有版本号的 Rust 编译器于2012 年 1 月发布。Rust 1.0 是第一个稳定版本,于 2015年5月15日发布。

哈喽,大家好,我是了不起。
今天给大家介绍连续五年最受开发者欢迎的一门语言Rust。

图片

1、rust 从哪里来

Rust语言在2006年作为 Mozilla 员工 Graydon Hoare 的私人项目出现,而 Mozilla 于 2009 年开始赞助这个项目。第一个有版本号的 Rust 编译器于2012 年 1 月发布。Rust 1.0 是第一个稳定版本,于 2015年5月15日发布。

Graydon Hoare 是一个职业编程语言工程师,其日常工作就是给其他语言开发编译器和工具集,但是不会参与语言本身的设计,由于这种工作性质,他接触过很多编程语言,了解各种语言的优缺点。比如 c 和 c++,性能比较好,但是类型系统和内存都不太安全;一些拥有 GC 的语言,比如Java、golang、kotlin等,内存是安全的,但是性能却比较低。

于是 Graydon Hoare 萌生了自己开发一门语言的想法,这门语言就是 rust。

2、rust logo

Rust 的 logo 承载了创造者对该语言的期望:

①、Rust 这个单词是由 Trust 和 Robust 组合而成,暗示了信任(Trust)和鲁棒性(或健壮性、Robust)。

②、Rust Logo 的形状与一种叫做锈菌的真菌相似,这种真菌生命力非常顽强,在其生命周期内可产生多达 5 种孢子类型,这 5 种生命形态还可以相互转化。也就是鲁棒性(健壮性)非常强。其 Logo 上面的 5 个小圆孔,与锈菌的 5 种生命形态相对应,也在暗示 Rust 语言超强的健壮性。

3、rust 是什么

在 rust 官网:https://www.rust-lang.org/ ,有这样一句醒目的话:

图片

Rust 是一门赋予每个人构建可靠且高效软件能力的语言。

Rust 是一门系统级编程语言,有三大特点:

①、运行快

②、防止段错误

③、保证线程安全

4、rust 语言版本说明

rust 语言版本从三个不同的维度来讲,包括三个概念。

4.1 语义化版本

图片

其格式为:主版本号.次版本号.修订号,依次用 句点 隔开。

简单说下语义版本号递增规则:

①、主版本号:当做了不兼容的 API 修改。

②、次版本号:当做了向下兼容的功能性新增。

③、修订号:当做了向下兼容的问题修正。

4.2 发行版本

​https://github.com/rust-lang/rust/branches/all​

图片

①、master 分支:对于一个发行版本

②、beta 分支:对应 Beta 版本,也叫测试版本。

③、stable 分支:对应 Stable 发行版,也叫稳定版。

通常稳定版和测试版每 6 周 发布一次,一般来说,会先发布测试版,经过一段时间测试,在进行发行稳定版。

4.3 Edition 版次

可以看到每个通过 cargo工具(Cargo 是 Rust 的构建系统和包管理器,后面会详细介绍) 创建的 rust项目的 Cargo.toml文件。

图片

版次的意义和语义化是正交的概念,方便rust自身的进化。目前rust有两个版次,分别是 rust2015 和 rust2018。

因为rust每6周发布一次新的语义化版本,版本更新迭代速度快,但是版次通常每 3 年发布一次,之所以存在版次和语义化两种概念,我们可以看这样一个例子:

例如添加可能与代码中的标识符冲突的新关键字,比如 ”async"和“await”,刚开始rust是没有异步的概念,后面我们要添加这两个关键词,但是旧代码可能会把这两个关键词当做变量名来使用,这时候如果只有语义化的概念,我们升级rust版本号,就会造成旧代码编译报错。但是增加了版次的概念就不同了,我们对于之前的代码编译方式选择之前的版次,新的代码编译方式选择新的版次,那么问题就解决了。

因此,如果你正在使用 Rust 2015,并且您的某个依赖项使用 Rust 2018,那么一切正常

开发者可以在 Rust 包管理配置文件 Cargo.toml 来配置 edition = "2018",表示依赖 2018 版次。

编译的时候可以通过:

Rustc --edition 2015|2018|2021

图片

5、rust 能干什么

截止 2021 年,主流的互联网公司都把 Rust 纳入主力语言,比如开发操作系统 Redox/Fuchsia、高性能网络 Tokio、应用的高并发后端 TiKV,甚至客户端软件本身(飞书)。

Rust 除了在其传统的系统开发领域,如操作系统、设备驱动、嵌入式等方向高歌猛进之外,还在服务端高性能、高并发场景遍地开花。

图片


责任编辑:武晓燕 来源: Java技术指北
相关推荐

2022-09-07 08:05:32

GScript​编程语言

2012-09-04 11:20:31

2022-02-27 14:45:16

编程语言JavaC#

2022-02-21 11:15:59

编程语言后端开发

2014-12-03 09:48:36

编程语言

2020-09-27 15:52:02

编程语言C 语言Python

2024-06-27 09:00:00

人工智能编程语言软件开发

2013-07-26 10:23:04

2017-04-07 10:45:43

编程语言

2018-07-16 12:36:48

编程语言PythonJava

2017-04-07 16:49:00

语言程序编程

2014-07-08 10:30:59

开发者开发语言

2011-07-14 17:58:11

编程语言

2015-07-28 15:35:48

学习语言

2016-06-13 14:13:27

开发者全新编程语言

2020-11-12 07:00:50

JavaScript前端编程语言

2016-05-19 13:55:19

Linux运维编程语言

2013-08-06 09:31:42

IT技术周刊

2020-02-05 13:44:00

JavaScriptJava程序员

2022-11-04 11:11:15

语言入职项目
点赞
收藏

51CTO技术栈公众号