Rust学习_1.引言
引言
学习Rust其实已经一个多月了,回过头来想写一些东西;
主要是为了理清楚为什么要开始学Rust、如何将学习有效地进行下去;另外,整理一下学习过程。
为什么开始学Rust?
主要原因是想“make some change!”,现在的工作并不能让我感到满意,无论是工作内容、工作方式、还是工作之后获得的报酬,都让我想做出“改变”。不知道是在知乎还是微信公众号看到关于Rust语言的布道文章,让我提起了学习一门新语言的兴趣。最后基于下面四个方面的考虑,令我下定了学习的决心:
之前使用的语言让我难受;
Rust入门门槛高,远离内卷;
Rust优点、编写风格让我很喜欢;
接触到区块链,很感兴趣,Rust挺适合写区块链;
1. 之前使用的语言让我难受
2015年本科毕业投身互联网浪潮,从事Java和Android应用开发至2017年5月,这段时间的编码过程其实还挺爽,不过也有可能是脑子里的东西不多,之后考取研究生;
2018年至2021年研究生期间主要使用JavaScript、python语言开发前端页面和做聚类算法,其他接触到的语言包括C++、C#、Fortran、R语言、matlab、TypeScript 等;
从接触过的所有语言来看,按照”代码看着爽”的程度排序:C++ > Java > C# > TypeScript > JavaScript > python > Fortran = matlab = R语言。如果按”编码过程爽”排序C++得往后挪几个身位。
总的来说,我更喜欢严谨、规范的语言,在写JavaScript和python的过程中,总是无法让我体验编码的舒畅,写出来的代码总是无法让我感到满意和放心。
2. Rust入门门槛高,远离内卷
任何事物都具有两面性,Rust语言的特点之一就是入门门槛高,一方面需要学习者付出更多的时间和精力;另一方面也会自动筛掉学习能力不足的一部分人,缓解内卷。
其实Java写起来也会让我有一种舒适感,但是考虑到年纪也不小了,而且搞Java的人实在太多太内卷了。所以选择不再继续深挖了,工作够用就行。
3. Rust优点、编写风格让我很喜欢
4. Rust适合写区块链
2021年参加工作之后,同事里面有不少炒币的,出于好奇专门看了一些区块链的文章和课程,去中心化、分布式共识、可编程的智能合约……让我感到很是神奇。
如何将学习有效地进行下去?
从我的经验来看掌握一门语言最好的方式是快速掌握语法、特性、关键api,然后尽早通过实践来熟悉语言。现在我对Rust的学习主要是通过官方出品的Rust权威指南, Rustlings Course,以及codewars网站上的算法练习。从目前学习的效果来看,存在是实践少、Rust工程化经验不足、忘的快等问题。亟须制定有效地学习计划,并严格地执行,以此达到高效学习,快速度过初中级阶段。下面是我目前搜集到Rust相关的一些学习资源:
- Rust权威指南:经典必看;
- Rustlings Course:闲暇时放松练习;
- codewars:类似力扣(我感觉用起来更舒服一些),并且有很多Rust语言的提交记录,可以学到很多东西(力扣上Rust语言的算法解答不够看);
- Rust语言中文社区:上班前打开看一看,很舒服;
- Rust中文月刊:内容十分丰富,包含Rust语言每月最新动态,学习资源等;
- Rust最佳实践和设计模式:很有用;
- Rust语言圣经:还没仔细看,内容很丰富;
- Rust构建区块链:很诱人。