0%

2024一阶段总结

2024一阶段总结

由于我在暑假期间花了十几天时间学习了一下Rust,所以在这一阶段期间我就是相当于直接做题了,没什么可说的。但是,第一阶段也是Rust学习阶段,那么这样来说,这一阶段也就不仅仅是那三个星期,还包括了暑假期间的学习。所以,我就把这一阶段的总结写在这里。

Rust学习

我首先双语对照阅读了《Programming Rust 2nd》这本书。这本书是我在暑假期间学习Rust的主要资料。这本书它好像比较关注底层的内存模型,并在一些方面比较了和C++的区别,它好像特别强调了Rust的系统编程这一方面,所以它关注前面那些方面也就是可以理解的了。

由于我在学习Rust之前学了一些函数式编程的习惯知识(比较浅),学习了一下通过《Get Programming with Haskell》这本书学习了一下Haskell,所以在学习Rust时,遇到迭代器、闭包、trait、类型系统、Enum(和类型)等等这些概念时,感觉比较亲切。特别是返回值的Option和Result以及它们与模式匹配的结合,我在Haskell的学习中也常常遇到。

在学习Rust的过程中,对C的学习和对C++的浅浅尝试帮助了我对Rust的底层数据模型的理解,而对Java和Haskell的学习,则帮助了我对Rust中的一些类似面向对象、函数式的高层抽象的学习。

在阅读一些英文书时,我习惯双语对照着看,看中文效率更高,但经过一层翻译,可能意思有所变化;而看英文则更准确,但效率较低。所以我当时结合着看,看中文卡着了,就去翻翻英文;看英文,由于我的英语不太好,可能有些模糊不清,就去看看中文。此外,有时看一种语言看烦了,可以换另一种语言看看,同样有新鲜感。在浏览器中,要双语对照,可以用插件(如“沉浸式翻译”等);对于pdf、epub之类的,我就用的一个网站https://doc2x.noedgeai.com/,识别效果还不错,翻译也还行,虽然现在好像开始收费了。

一阶段的做题

这一阶段做的是Rustlings的题目。这个题目在我刚刚学习入门玩Rust时做了一下,所以前 100 题比较顺利。但是,在最后十题卡了几下,有对数据结构、算法的遗忘,也有对在其中用到的一些在safe边缘疯狂试探的Rust相关语法、特性的生疏。这些题目让我复习了一下数据结构与算法,并让我得以一窥Rust的一些底层方面的高级特性。