CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛
CXYVIP官网源码交易平台_网站源码_商城源码_小程序源码平台-丞旭猿论坛

如何看待Rust这门语言?-永久免费的源码丞旭猿

说到 Rust 大部分人都喜欢把它和 go/c/c++ 比,强调内存安全,性能高,学习曲线陡峭等特点,但这些特点其他语言或多或少都有。Rust 真正让我喜欢的是现代性。什么是现代性?说实话,我很难用一两句化把它说明清楚,这是我写

等具有一定规模的 Rust 项目得到感受,这种感受很难在其他语言中得到。写得越多,越能感受到 Rust 的诞生既包含过去几十年语言设计实践,又包含工程化实践的沉淀,同时也是对未来编程语言的探索。

Rust 的语言设计是个复杂的问题,我涉猎不多,仅举两个简单的例子。首先,Rust 应该静态强类型语言,尽量保证编译期类型安全。但这样会显得代码很啰嗦,所以 Rust 可以进行类型推导,除非编译器确实不知道某个变量类型,才需要显式指定类型。如果你的函数写得足够单一简短,函数体内的代码大部分都不需要额外的类型标注。其次是 Rust 的高表达能力,for item in xx.iter(),map,skip,fold还有方便的字符串,数组处理函数(这个其实非常重要), 让你可以用尽量少的代码实现逻辑。我在

这个回答的最后有比较 Rust 和 Python 代码,同一个功能,两者代码量几乎一样,这也是一个例子。

接着是 Rust 在工程化的优秀之处。Cargo 在处理依赖,编译项目,发布项目的优秀之处相比不用我多说。先问各位一个问题,你在初次接触一个大项目时,熟悉项目结构,找项目入口花了多少时间?你为了 build 一个项目,看或写makefile花了多少时间?在 Rust 中通过Cargo.toml我们轻松找到项目入口,简单的项目是main.rslib.rs, 或者在Cargo.toml中通过[[bin]][members]指定。明白项目项目入口在哪里,就能顺着程序流程大致了解程序如何实现,达到快速熟悉项目目标。

另外一个值得称赞的是 Rust 内建的 doc 功能,除了常见的单行注释,Rust的多行注释其实支持 markdown 语法和 doc test

使用 vscode + rust-analyzer 可以在悬浮查看带标题,加粗等格式的文档,而且 doc 中代码块可以直接跑 doc test, 既充当了使用例子又能检测代码正确性。使用cargo doc也可以直接生成项目和项目依赖 文档,以最小人力消耗,劝导你写出可测试,可维护的代码。

至于展望未来,Rust 选择了所有权系统和生命周期管理内存,本身就是一个探索,不是吗?

最后,Rust 难吗?所有权和生命周期确实挺特殊,但你只需大致理解就能开始写代码了,不需要深入理解或掌握。我写的2w多代码里需要生命周期标注的比例其实不高。与其畏手畏脚,不如直接上手,有编译器帮你兜底,怕啥?

声明:本文部分素材转载自互联网,如有侵权立即删除 。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
相关推荐
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容