初见 Rust,使用 Rust 编写博客网站
随笔 |

    近来无事,想学点系统编程语言。工作中用了几年的 Python 了,也想学点新的编程语言。Python 固然是一个很好的编程语言,但是在没有代码规范,代码检查的时候,“动态”的特性就变成了极大的缺点,在实际开发的过程中有点心累。就是学着玩,不打算在工作中使用,也就排除了最近很火热的 Golang。

    对比了 C/C++ 和 Rust 之后选择了Rust,顺便写了这个博客网站。没有想到,Rust 是一个这么“奇怪”的语言,相比起之前主要用的 Python,入门难度堪称地狱级别。 先是看了官方文档,诸多概念难以掌握。而后买了一本《深入浅出 Rust》,花了很多时间,上手还是很困难,需要多加练习。

     Rust 作为一门新的编程语言,有很多优势的。最大的卖点当然是*empowerment*(基于授权机制的内存安全),而且运行速度很快。就我不多的编程经历来看,Rust 的语法堪称一绝,比如使用枚举类型 Option 来表示值是否为空,而不是直接使用 NULL,None 等语法,当一个对象为空时,使用带类型的 None 表示,这就导致代码中需要大量的 match 语法或者 unwrap 函数来确定对象的值。Rust 有着神奇的内存回收机制,既不需要像 c/c++ 一样手动回收,也不是像 Java 一样自动回收,而是在编译阶段确定内存回收时机。另外一些工具例如 rustup、cargo都很好用。现在已经出现了一些优秀的项目,比如ServoTiKV等,都证明 Rust 在实际应用中是一个很好的编程语言。

    Rust 到底新编出语言。一些特性(如异步、异常处理)还在不断的调整中。编辑器集成也很差,难以调试,反应也很慢。基础库质量参差不齐,一些库甚至只能用 Nightly 版本。而且依赖比较多,例如这个博客程序是 基于 Rocket 的小网站,已经需要编译 272 库。最不能忍的就是编译速度,出奇的慢。Rust 还有很长的路要走。

     至于博客,可能也只是一时的兴趣,之前用 Python 写的博客网站也是没写几篇文章就下线了。感觉没什么好写的,深度不够,技术博客很难用一篇文章讲清楚一个知识点,其他诸如感悟之类的文章又觉得无病呻吟,难以下笔。权当熟悉 Rust 吧。