Rust自学系列(一)——初识Rust

本文共阅读

本文目录

  1. 什么是Rust?
  2. 为什么要用Rust?(reason for me)
  3. 简单的入门
  4. Rust的优缺点(是否应该选择Rust)
  5. 总结

1.什么是Rust?

Rust是Mozilla开发的注重安全、性能和并发性的编程语言。

Mozilla这个基金会我们是知道的,大名鼎鼎的火狐浏览器便是由他们搞出来的,同时还有前端领域的标准查询社区MDN。Mozilla对于前端的影响力是不可忽视的,而Rust就是由他们设计开发的一套编程语言。不同于大部分编程语言的是,Rust的关注重点在于底层的安全,性能等等问题。

2.为什么要用RUST?

就对我而言,作为一名前端开发者,自身的编程基本功在于javascript。然而如今的前端社区风流涌动,什么都有所涉猎。作为一名前端,学习一门服务端语言以及一门编译语言作为辅助是最低的要求了。服务端语言的话,其实现在用node也还算可以,所以在编译语言的选择上,某家一直十分犹豫。
最开始接触到Rust是在一次偶然的谈话中听到了大牛Houn 提起才知道有这么一门语言的存在。不得不说,在接下来独立进行了一番了解后,对这门语言非常满意,Rust完全的满足了我对想要学习的编译语言的特性的期望。

选择一门编译语言于某家而言,仅仅是为了扩充眼界,学习一些新东西。纵观各类编译语言,诸如C++,JAVA此类的,不论社区还是性能或是其他什么的都经历了时间的考验,是非常稳定的编译语言。然而某家却不愿意却选择他们,原因无他,从基本语法来看,各大高级语言几乎一模一样。也就是说在有一门编程语言的基础下,学习一门新语言的入门难度非常低,几乎是看几个小时的官方文档就能写一些小程序了。

当然,并不是说C++,JAVA这类很简单,只是说这类语言的难度在于深入学习,也就是入门后的进阶阶段,会花费大量的时间。既然是作为辅助学习,自然某家是不会花大量心血去深入学习。

Rust这门语言的一大特色就是入门阶梯曲线非常高,它语法和思路都和现在大多数高级语言差别很大,真正是从入门就能感觉到学习到新东西的感觉。而且Rust中变量都是默认不可变的,必须特别注明后才能成为可写变量,同一变量普通引入可以有很多,但是同一时间的可写变量只能有一个,利用读写互斥保证底层的安全。由此可见,作为一门辅助语言来说,Rust是相当合适的,有一定挑战,也不枯燥重复。

3.简单的入门

首先是关于Rust的安装,默认是使用官方的shell安装:

$ curl https://sh.rustup.rs -sSf | sh

当然,官方也表示,因为很多人怀疑脚本的安全性问题,所以虽然强烈的不能再强烈的推荐你们这么安装,但还是让你们可以选择使用源码安装。
(官方:我TM还能说什么,我也很绝望啊-_-)

upload successful
源码下载地址:源码下载页

安装完成后可以使用

$ rustc -V


来查看版本,确定是否安装成功,注意这里是大写的V
正所谓“铁打的hello_world,流水的编程语言”,接下来我们就可以尝试写个永恒不变的hello_world:
首先,在rust中,rust源码是以rs结尾的,所以我们首先来建立一个hello_world.rs

$ mkdir hello_world
$ cd hello_world
$ touch hello_world.rs
$ vim hello_world.rs


1
2
3
fn main(){
println!("hello world");
}

然后我们运行:

$ rustc ./hello_world.rs -o hello_world
$ ./hello_world


可以看出程序直接输出了hello_world,一如我们所想,毫无意外。不过从这个程序来看,如果是有编程基础的人一看,就会感觉其实本质上和其他的高级语言其实区别不大,写法基本是一看就懂。
upload successful
嘛,我当初也是这么想的,直到我看了他具体的语法。。。。。。

Rust的优缺点:

优点:

  • 性能好,有比较超前的意识
  • 能学到比较不错的姿势
  • 大公司支持,不必担心虎头蛇尾
  • 虽然说是高级语言,但是有很多底层的思路,能学到很多底层的东西

缺点:

  • 入门曲线非常陡峭,足以让很多人望而却步
  • 对编程意识要求较高,要能主动分辨去除可能会出现的同时读写的变量的情况,否则编译不会通过
  • 虽然官方的文档是中文的,但是官方的标准库的文档是英文的,ORZ

5.总结

总而言之,在Houn大牛的科普下,成功让某家认识了一门十分满意的语言,虽然有很多人数落它的缺点,而且目前它也属于冷门语言。但是,对我而言,各个方面都是十分适合我的语言。希望,这门语言也同样能给在寻找一门辅助语言的你带来一分心喜。

本文链接: http://www.yixuankeer.win/2017/05/28/Rust自学系列(一)—初识Rust/
ps:文章评论需翻墙可见