首页 热点资讯 义务教育 高等教育 出国留学 考研考公

大家如何评价Rust语言

发布网友 发布时间:2022-04-22 04:53

我来回答

1个回答

热心网友 时间:2024-08-15 03:19

我用rust正在写一个区块链项目。

如果不熟悉它的机制,很可能会写得非常啰嗦。
举个例子Mutex<RefCell<Rc>>> 这种类型多了会让人崩溃。

c++很多东西被简化了, 比如拷贝构造函数变成了Copy trait,移动构造函数自带。 RAII被rust强推(连lock都是).. 想要用内存不安全的操作需要加unsafe。c++那几个智能指针变成rust的基本类型了。所有的变量都会有一个所有权,不用智能指针的话,只能用引用(rust叫借用),增加了很多。指针什么的很难看到了(写起来啰嗦)

恶心的生命周期标注,没有ide很容易被这个烦死。

没了容器类, 这个习惯c++的要吐槽。

加了很多函数编程的概念。 比如: arr.to_iter().filter(|x| x.age > 20), 还有模式匹配,高阶枚举,但总体没有scala ocaml这类强大。

完全编译时, 极少运行时(有类似c++的typeid),要想用类似java的反射机制就不要想了。 泛型和c++一样, 基本就是一个文本替换(宏)

常用的功能, 如多线程,日志,文件,网络等都比c++ std和boost好用很多, 但是功能也没有那么强大, 不少功能和c一样直接在系统内核上封装了一下,写起来跟c有点像。

完全抛弃面向对象,和go很像,全是struct。这点真心比c++半吊子面向对象强。

比c++方便最多的地方是有一个模块管理系统,项目的结构都是订死的(和sbt有点像),灵活性不强。

目前社区不完善,基本上找不到什么有用的论坛。debug比较痛苦。

总体觉得是c++的阉割版,写起来很难像c++一样放得开。小项目会快那么一点,毕竟不用写makefile。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com