Rust 的基础库已经很完善,常用到的功能在 crates.io 上都可以轻松找到,在 Reddit 上可以看大家的讨论来决定如何选择同一个功能的不同库中的一个。因为 Rust 可以在代码中使用 C 的库,同时也可以将自己的代码编译成 C 语言兼容的代码,再加上其跨平台编译 Cross-compiling 也已经完善,这样以来对于取代 C++ 这一目标,似乎已经基本上没有什么障碍了。
我使用 Rust 进行开发大概有一个多月了,基本上完成了两个小的项目,这些项目都包括多线程的 RPC 接口调用,本地数据库存储和处理以及提供了 Web 的访问接口。像周边的日志、加解密函数、Json serialization/deserialization 等基础功能也都一一具备。
最近我在各大的论坛上都喜欢浏览与 Rust 这门语言相关的讨论和文章也听听别人的建议。同时了解一些周边新闻和希望能够接触到该语言的一些黑暗面。这样以来可以收集到足够的信息来帮助我决定未来是否会继续深入使用下去。在中文社区里, Rust 这门语言很多时候都被称之为邪教,因为这门语言的使用者会不遗余力地将该语言推给其它的开发者,但是这门语言却并不是每个人都能(或愿意)去适应且掌握,于是在这样的矛盾下,自然免不了争吵(个人觉得只有经历过 C++ 的各种坑的人才会对 Rust 语言趋之若鹜)。所以,该语言是邪教的来由,应该是如此。
一边是 Rust 信徒的不遗余力、一边是无法理解这种有些过界的激情最终转化成的一种反感。当然, Rust 语言因其特殊的复杂性,在书写的时候会造成符号多、表述复杂的问题,很多人表示这对于代码阅读和理解是一种障碍。但是在我看来,比起那些 C++ 的补丁般的怪异用法和无约束说明的模版参数来说那真是要好太多了。C++ 的无约束说明的模版参数,唯一受益只是在写代码的那个阶段的你,但这其实只不过是一种高级的给自己挖坑的方法,毕竟代码本身的逻辑的复杂程度和代码阅读困难程度理应成正比。
见过很多 C++ 程序员说接触了 Rust 后将不再回到 C++,我现在的想法,也是同样。
顺便吐槽一下国内的讨论气氛,扣帽子,情绪输出占了 80% 甚至更多,而对于该语言的冷静讨论非常少,其实这种氛围也是让这种所谓的“邪教”容易滋生的原因吧。