前言
对于Rust和OS,其实之前也只了解过Rust但是并未深入学习和研究,恰好开源操作系统训练营的开班,然后就积极报名参加,进入了交流群。同时,rust语言博大精深且与之前学习的语言也存在差异,作为从业者而言,每天并没有太多的时间去专注于该训练营开展的活动,但是每天都会尽可能的抽出相应的时间进行学习Rust和OS,为了去挖掘更多其未知的知识,丰富自我,达到更高一个层次。
学习总结感悟
总体来说在第一阶段这个学习过程还是挺顺利的,因为在报名之后,我已经着手学习Rust的相关知识,且网络平台上存在许多大量的资源供学习参考。整个大约一个月学习过程中,曾经碰到过许多的问题,在网上阅读过很多的文章寻找相关答案,也和有在加入的微信群交流探讨,总体感觉Rust还是一个正在发展中的语言,从开始接触到深入探究,就能发现Rust是一门年轻的且充满潜力的编程语言并且Rust语言同时也兼顾了安全性和高性能,因而它是一门非常出色的系统编程语言,能够编写操作系统、数据库、区块链应用等对安全、性能都要求极为严苛的系统级软件。
Rust语言同时是一门优秀的生产力语言,出色的文档、完善且高效的工具链(cargo,rustup),能够快速进行各个层次(小的嵌入式、大到操作系统,从底层系统开发到网络应用开发,均能胜任)的应用的开发。而且Rust社区也在快速发展,不断地创新,不断地摸索,学习者可以在社区中交流探讨中摩擦出了灿烂的火花。
Rust学习
学习历程
学习最开始查找的资料就是Rust语言社区,一般来说一门语言、框架或者库出现后,人们应用它们,不只是因为自身的强大,更是因为其背后的生态圈。这里有相应的且完整的代码、丰富的配套资源以及官方的指导文档,大家互相促进,在一个良好的氛围中交流学习Rust是种非常nice的感觉。
- 语法:相对而言,Rust的语法是挺特别的。因为有生存周期和借用检查这类独有的概念,所以语法上看上去是比较复杂。但是作为一种现代编程语言,大量使用了泛型,但是也带来代码可读性较差的问题。这个问题也很让人感到苦恼的,需要有耐心且保持积极心态去学习、去摸索。
- 特性:内存安全性、并发性强、高性能、易用性、跨平台性和社区活跃
- exercise:边学边练才能达到更好的效果,前大半的练习题都差不多是基础,很容易做,我大概花了一天的时间做完了前100道题,还剩下最后十道的算法题,这还是有点难度在的,其实最终还是得靠牢牢掌握Rust的语法、数据结构以及代码逻辑分析等,还是能很快的解决掉最后的十道题。在这个过程中,Rust难上手很关键的一点就是其严格的编译器,编译器会做尽可能多的检查,而且也十分详细地发现问题,这样可以提早消除安全隐患。所以编译器像一个好老师,及早扼杀你的bug,强制性要求你写出可以正常运行的正确代码
- note:学习过程中没有笔记是不完美的,所以整理了学习笔记, 记录日常学习的过程以及学习的内容,对于理解不清晰的模块和问题会仔细梳理代码逻辑,这是锻炼思维能力的一种方法,同时这对我来说可以将几节甚至是几章的内容进行串联起来,可以建立起更牢固的知识框架。
学习氛围
- 微信群里积极交流,提出问题,解决问题
- 老师督促,学生活跃
- 技术性的学术氛围浓厚
- 目标一致
学习成果
在第一阶段的学习中,掌握了rust基础,学习到操作系统相关的概念以及原理展望
Rust 是一门全新的语言,它会带给我们前所未有的体验,同时也能提升通用编程水平,甚至于赋予我们全新的编程思想。希望能够在第二阶段上继续保持,再接再厉致谢
在老师的悉心指导下和交流群互帮互助下,从最开始的 Hello World 起步,到深入系统地学习了操作系统的基本概念、原理。这使我对Rust和OS 有了更加全面和深入的理解。最后,衷心感谢清华大学的老师们为我们提供了这次难得的学习机会,还有两位教学的讲师,对我们授课讲学。
这次学习经历对我们来说,无疑是非常宝贵的财富,在以后走的更长远。分享连接~
《Rust语言圣经》:https://course.rs/about-book.html
《Rust程序设计语言》:https://rustwiki.org/zh-CN/book/
《Rust指南》:https://tourofrust.com/
《深入浅出rust》:https://zhuanlan.zhihu.com/rust-lang
https://link.zhihu.com/?target=https%3A//www.gitbook.com/book/rustcc/rustprimer/details
Rust 语言中文社区:https://rustcc.cn/