本来是前端,由于 webAssembly 的逐渐普及,从去年开始从 Rust 的那一本教程入手,看完以后又看了 Rust reference,接着看了 Rustnomicon,又大致浏览了一遍 Rust Doc,还有 cargo book。最后总结了以下:我觉得 Rust 应该是昙花一现的产物,因为它实在是太复杂了。
如果你不需要做 FFI 之类的,我个人还是不建议深入学习 Rust,有兴趣当然是好的,但是 Rust 需要花费的时间不是一天两天,对比其他的语言,比如 C,Rust 显得更复杂和困难。
Rust 保证的安全性的代价就是入门曲线很高,对于习惯了脚本语言或者 c 类语言的程序员而言,Rust 显得不是那么友善。我学这门语言更多的是因为学习兴趣很高,时间充沛,但是对于大多数人而言,时间以及语言( Rust 的文档除了教程以外几乎都是英文)问题,或许并不值得去学习。
更为重要的一点是,Rust 标榜的是安全性,对于很多人而言,Rust 的这种安全性根本不知道用在哪里,因为它的实战场景太少了!!! Rust 的最大的开源后台开发库 Rocket.rs ,甚至现在也没发布 1.0 版本,而且更多的是 Rust 目前几乎没有像诸如 java 之类的,甚至是 golang 之类的新语言,一套完善的开发栈可供参考。更多的是自己踩坑,自己挖坑自己踩!
Rust 是门从设计层面就假设你是个有很强逻辑以及经验的程序员,但是这个假设并不是什么时候都成立。Rust 的所有权系统有时候显得很“臃肿”,虽然有诸如 Rc 和 RefCell 之类的 struct 可以弥补。举个栗子来说,很多初学者在看完教程之后,基本的数据结构,诸如双向链表、二叉树之类的,都不能写出来,更糟糕的是,甚至完全没有头脑(我承认我就是这种人)。
Rust 我最爱的是它的宏!如果你是 C 之类的开发者,对 C 的宏忍无可忍,那么 Rust 的宏是真的只能用“美丽”来形容!
如果你是从事嵌入式、图形处理之类的,我强烈建议你深入了解 Rust 这门语言,它的安全性或许正是你所需要的!
Rust 目前是 2018 版本,这个版本修复了很多饱受诟病的 Bug,我很期待这门语言的发展与未来。
总结来说,如果你是一个初学者,或者时间不够,或者精力不够,或者语言(英语)能力不强,那么我建议还是不要碰这门语言了,如果有一天 Rust 发展得无比繁荣,那么 Rust 可以学一学,但目前看来,并不会(求打脸!!!)。
如果你是从事底层开发,对 C 语言的内存泄漏的问题很头大,那么 Rust 很适合你!但同上,时间和精力是问题。
1
SuperMild 2019-01-29 18:51:40 +08:00
大多数人学 rust 都是兴趣吧,毕竟明显不是很好找工作的语言。
rust 语言本身蛮优秀的,功能强大,可玩性高。所有权、生命周期那一套东西是需要一点时间才能熟悉,但本质上并不是很难很复杂的东西,只是思维不习惯(与别的语言差异较大),耐心多做一些练习题就会熟悉。 除了学习曲线这个缺点,别的特性优点还蛮多的,值得一学。 |
2
secondwtq 2019-01-29 18:54:49 +08:00
Rust 应该对标 C++,对比 C 复杂并不能说明什么 ...
|
3
trait 2019-01-29 18:54:55 +08:00 7
> 更为重要的一点是,Rust 标榜的是安全性,对于很多人而言,Rust 的这种安全性根本不知道用在哪里,因为它的实战场景太少了!
你真的理解了什么是安全性么?当然除了仅有的几所名校,中国各大计算机官方培训班没那个能力普及基本的 PL 知识,前端就更不用说了 > Rust 的最大的开源后台开发库 Rocket.rs ,甚至现在也没发布 1.0 版本 rocket 什么时候成了最大开源后台开发库,先了解一下生态再说 >Rust 的所有权系统有时候显得很“臃肿”,虽然有诸如 Rc 和 RefCell 之类的 struct 可以弥补。举个栗子来说,很多初学者在看完教程之后,基本的数据结构,诸如双向链表、二叉树之类的,都不能写出来,更糟糕的是,甚至完全没有头脑(我承认我就是这种人)。 这问题在 2017 年之前成立,现在还说写不出来只能说你官方 book 你没读进去,trpl 专门花了一章讲这几个智能指针,borrowchecker 原则更是明确列出来了 |
4
hhhsuan 2019-01-29 18:57:25 +08:00
rust 能用来干什么?
|
5
ChristopherWu 2019-01-29 18:57:44 +08:00 1
@trait 能否分享一下 PL 的知识?或者讲 PL 的科普数据?最近想从 PL 的角度来喷 go 脑残粉,发现不知道怎么样学习。
|
6
trait 2019-01-29 19:00:59 +08:00 8
@ChristopherWu 一般来说系统学习推荐看 TAPL https://www.cis.upenn.edu/~bcpierce/tapl/
不过想了解一下基础这篇牛津大佬的论文就可以了 http://lucacardelli.name/papers/typesystems.pdf |
7
secondwtq 2019-01-29 19:09:05 +08:00 1
@ChristopherWu 如果只是想喷 go 脑残粉的话建议不要入坑,如果真要入坑的话建议时刻谨记 “不忘初心 牢记使命”
而且你跟 go 脑残粉说这些估计是没用的,如同对假“国学”受害者讲科普,和小粉红讲普世价值 |
8
ChristopherWu 2019-01-29 19:11:41 +08:00
@secondwtq 没事,图个爽快 XD
其实了解一下 PL 的基础知识(常识)挺好的,不然这门语言跟那门语言的优劣这种都说不了,就没啥意思了。 |
9
12101111 2019-01-29 19:12:39 +08:00 via Android
前端看 rust,就跟写 c 的看 node js 那些工具链一样。你先写几个月 c++,比如看看 chromium,再看看 servo,尤其是已经 merge 进 Firefox 的 CSS 引擎 stylo,排版引擎 webrender
|
10
adminsam 2019-01-29 19:13:20 +08:00 via Android
5G+物联网+区块链+Rust
|
11
neoblackcap 2019-01-29 19:18:32 +08:00 via iPhone
@12101111 看那些那么复杂,不如看看 TiKV 算了
|
12
misaka19000 2019-01-29 19:22:11 +08:00
@neoblackcap #11 关键是 TiKV 也不简单啊。。。
|
13
misaka19000 2019-01-29 19:23:23 +08:00
我觉得学 Rust 的大部分是出于兴趣吧,既然是出于兴趣我觉得学习一下也是挺好的
|
14
secondwtq 2019-01-29 19:35:27 +08:00
说到轮子,我觉得 Rust 现在有点像几年前的 JS,我逛 GitHub 经常碰到各路神仙拿纯 Rust 重新发明各种基础的库和工具
个人觉得 Rust 虽然没有 JS 渗透广泛,但是作为 native 语言发挥空间更大,在一干叫唤着要取代 C++ 的 PL 里面还算 userbase 比较扎实的,生态会慢慢好起来 另外那些大仙们重造的轮子,很多还处于早期阶段,虽然不一定能用于 production,但是代码量不多,Rust 的代码组织方式,抽象能力都比 C 等要好,对我来说相比于那些已经搞了好多年的 C 库要易读,如果只是想知道“某某类型的库 /某某算法的基本实现原理”,还是挺值得看下的。不一定要看 servo 之类明星项目,我觉得像是浏览器引擎这种复杂度的东西,除非有明确的项目目标或者全职在做,只是没事看看很难搞出有用的成果 讽刺的是,JS 圈现在正在风风火火地推广 WebAssembly 这个可以把他们自己灭掉的东西 ... |
15
pabupa 2019-01-29 19:39:56 +08:00 via Android
之前看过一点文档。没有 gc,也不用手动释放,那怎么做嘞?一个复合变量在一个作用域只能用一次,,,,其实也挺麻烦的,不过比手动释放要顺手一点。
ps:在回家的车上,刷刷 v 站,随便 bb 两句,不知道对不对。 |
16
secondwtq 2019-01-29 19:44:44 +08:00
@secondwtq 噢对了忘了一条,如果按照 #14 中的逻辑,轮子该有的都会有的话,那 Rust 可能的最大的问题就如楼主所说,就是 智商兼容性 了 ...
|
17
Chingim 2019-01-29 19:45:48 +08:00 via Android 1
看完基础,尝试写快排,编译的时候想撞墙
现在我都不懂怎么自己实现 swap 函数 |
20
Moming 2019-01-29 20:03:48 +08:00 via Android
rust 后端觉得 actix 更有前景。
拿来写点小工具也挺好玩的,各种命令行工具重新造轮子 |
21
xfriday 2019-01-29 20:26:00 +08:00
不敢怼 rust 大佬,大多数脾气都不好(之前有见识过),rust 语言也是 2 年前接触过,陆陆续续地关注着它更新,但是对于编程哲学没有追求,只是把语言作为工具来生产 /挣钱,很大概率不适合你。
|
22
Mohanson 2019-01-29 20:56:57 +08:00 via Android
下午编 substrate 用了 2 小时, 生成 20 G 的中间文件, 而体量和功能差不多的 go ethereum 编译只用 10 秒, 700 兆中间文件
|
23
wi 2019-01-29 23:02:21 +08:00
昙花一现是不可能的,Rust 开发者野心很大。
|
25
trait 2019-01-29 23:40:37 +08:00 via iPhone
@Mohanson 迷之 subtrace 和 ethereum 功能体量一样,你还是先分清 protocol 和 platform 比较好
|
26
Yoock 2019-01-29 23:45:49 +08:00
厉害呀
|
27
LokiSharp 2019-01-30 00:06:59 +08:00 via iPhone
个人认为 wasm 用 TS 写才是未来的趋势吧
|
29
Mohanson 2019-01-30 01:45:58 +08:00 via Android
@LokiSharp 目前 rust 和 go 编译到 wasm 最大的问题是生成的模块过大,一个 hello world rust 在几十 k,go 在几 M(默认情况下),ts 用的 llvm 生成的模块质量目前远好于 rust 和 go, 但 rust 社区目前几乎将 rust 未来的希望全寄托在 wasm 上,挺期待他们会搞出什么名堂。
|
30
Mohanson 2019-01-30 01:47:31 +08:00 via Android
但目前编译到 wasm 质量最好的语言还是 c, 整个模块没有一字节没用的代码
|
31
Mohanson 2019-01-30 01:50:19 +08:00 via Android
对 wasm 感兴趣的话推荐 pywasm 这个 wasm 虚拟机实现。
|
32
lrxiao 2019-01-30 02:12:52 +08:00
Rust 确实太复杂了..
而且社区太强了,进化太快了,什么时候开始学呢? 很多很多的资料都是老版的,有时候见到+传引用,~表示递归类型一愣一愣的,很多名词只能从 issue/pull request/rfc 中知道意思。。 不说别的,rust-lang/rust 里都用很多 deprecated 的 feature |
33
lrxiao 2019-01-30 02:27:21 +08:00
|
34
quinoa42 2019-01-30 05:05:41 +08:00 via Android 1
对于像我这样半吊子的 PL 爱好者来讲 rust 简直就是理想语言,越用越开心
|
35
quinoa42 2019-01-30 05:19:15 +08:00 via Android
> 很多初学者在看完教程之后,基本的数据结构,诸如双向链表、二叉树之类的,都不能写出来,更糟糕的是,甚至完全没有头脑
讲道理,写这些 rust 和 c++有什么区别? c++怎么写 rust 就怎么写,rust 提供了更严格的 compile time 和 runtime time check,我对这条观点不能认同 |
36
trait 2019-01-30 07:14:26 +08:00 via iPhone 1
@Mohanson 连 subtrace 和 ethereum 基本功能都分不清,强行杠精,什么时候 protocol 能跟 framework 做比较了,感谢 block
|
37
chai2010 2019-01-30 09:15:36 +08:00 via iPhone
|
38
glumess 2019-01-30 09:21:54 +08:00
rust 的安全性和图像处理有什么关系啊?没搞懂这个地方
|
41
kefengong 2019-01-30 10:17:05 +08:00 via iPhone
我比较想吐槽现在编辑器 vscode 的自动推导提示,iterator 多链几个函数就废了,这让我有点难受。
Clion 也是一样 |
42
MeteorCat 2019-01-30 10:31:42 +08:00 via Android
Rust 是门有趣的语言,特别在 c 性能和效率、跨平台选择、多范式编程之中选择,官方提供 std::net 库可以免除 c 之中选择 poll、epoll 或者 window 和 linux 区分
|
43
quinoa42 2019-01-30 10:57:53 +08:00
@kefengong
rls 毕竟刚刚正式到 1.0 版本(社区里也有人觉得目前的质量还不足以称之为 1.0 ),但可以相信未来会变得更好 官方选择维护 language server 而不是官方 IDE 也很涨我好感 |
44
Eleflea 2019-01-30 11:26:51 +08:00
想请问一下各位都用什么 IDE 写 Rust ?
|
46
sad52hz 2019-01-30 11:39:40 +08:00
哪个大佬能说说 rust 用于什么的吗?
|
47
VDimos OP @Eleflea 我用的是 idea,vscode 也还行,只是代码提示没 idea 那么强,而且还要自己配置,不怎么好用
|
48
congeec 2019-01-30 11:55:02 +08:00 1
@quinoa42 rls 还真不行,而且主要开发者 Nick Cameron 这个月初从 Mozilla 辞职了
推荐 https://github.com/rust-analyzer/rust-analyzer |
49
alexmy 2019-01-30 12:03:15 +08:00
尝试学了一天,语言好复杂,入门就好复杂。最最最主要的是,不知道用来干嘛好,搭建网站?游戏服务器?然后就放弃了,等以后更成熟了再瞧瞧。
|
50
mayne95 2019-01-30 12:06:32 +08:00
跟楼上差不多。学了一段时间,不知道写什么。再准备写点东西,发现生态不完善,找不到轮子,然后语法又忘了。总之很尴尬。
|
51
danc 2019-01-30 12:12:09 +08:00 1
哈哈,既然大神在文中提到:“ Rust 是门从设计层面就假设你是个有很强逻辑以及经验的程序员......很多初学者在看完教程之后,基本的数据结构,诸如双向链表、二叉树之类的,都不能写出来,更糟糕的是,甚至完全没有头脑(我承认我就是这种人)。”, 这就说明,rust 本身就不是给新手小白玩的;“ Rust 的最大的开源后台开发库 Rocket.rs ”,是吗?。我从 1.10 开始搞到现在的 1.33,有 2 年半了吧,web 框架是自己写的,数据库驱动( mongodb )是自己写的,消息队列得自己写,一些更偏底层的库,比如异步 io 库,sctp 协议库,mpms_queue,blockingqueue,lru_cache,timer,等等,你都得打算自己写。-------你可以掌控一切的,只要你想。你说,如果一些基本的数据结构你都还没掌握的话,不如先去了解下这些基本数据结构。另外,rust 的语法什么的,所有什么的,生命周期什么,还真不臃肿,等你写熟了你就意识不到他们的存在了,然后再去写 golang 之类的语言,我艹,这个变量是在栈上还是堆上,这个变量到底传值呢还是传指针呢,这个变量什么时候可能会被回收掉.........
|
52
trait 2019-01-30 12:26:12 +08:00 2
@congeec nrc 离开 mozilla 加入 pingcap 并没有退出 rust team,他还是 rust 工具组的 leader,matklad 的这个项目也是官方正在搭建的第二代 syntax 系统,提高了语言层面对 rls 和 ide 的支持,马上到来的 rust all hands 会集中讨论
|
53
danc 2019-01-30 12:29:18 +08:00
|
54
lrxiao 2019-01-30 12:47:50 +08:00
@12101111 写'~'和'@'的在老 issue 里(<10000)看到不少
https://news.ycombinator.com/item?id=7687351 写'+'的我还真看过一篇找不到了,可能我记错了吧 |
55
justfly 2019-01-30 13:00:05 +08:00 1
巧了 我就是喜欢这种学习曲线陡峭学会之后又用着很爽的东西
|
56
sdijeenx 2019-01-30 13:05:45 +08:00
|
57
trait 2019-01-30 13:13:20 +08:00
@sdijeenx tidb 的 key-value 系统 tikv 是 rust 写的,还有他们实现的 raft 协议之类。已经有两个 rust team 核心成员去 pingcap,pingcap 应该算是国内开源企业典范了
|
58
davidqw 2019-01-30 13:33:57 +08:00
区块链是 Rust 可以发挥优势的领域,比如 Grin, Polkadot 和 Parity
|
59
q397064399 2019-01-30 14:12:06 +08:00
@trait #3
保证安全性? 缓冲区溢出吗? 如果是这个好像意义不大,有些人就喜欢裸着 |
60
quinoa42 2019-01-30 14:30:16 +08:00
@q397064399
当然不是,只是这个的话你用 C 也可以 |
61
file0X0088 2019-01-30 14:36:39 +08:00
你一个写前端的渣,学 rust 当然学不到精髓,拿 RUST 对比 C 难度就知道你的基础,不要张口就来,,,
|
62
redme 2019-01-30 14:54:33 +08:00
真没见过 rust 写的大程序(是不是 firefox 是 rust 写的阿)
|
63
linxy 2019-01-30 15:02:47 +08:00
LZ 炸鱼成功,已经跑路了!
|
64
starqoq 2019-01-30 15:28:05 +08:00
@redme #61
https://github.com/servo/servo 这个是 Rust 写的浏览器内核,Mozilla 钦定的下一代 Firefox 内核。 ( Mozilla:说我已经钦定啦?你们不要想搞个大新闻。) |
68
tairan2006 2019-01-30 18:14:37 +08:00
Rust 火不了,这个没问题
|
69
danc 2019-01-30 18:50:51 +08:00
对于 @q397064399 大神所提问的安全性,应该这么解释:“ Rust ’ s rich type system and ownership model guarantee memory-safety and thread-safety — and enable you to eliminate many classes of bugs at compile-time.”,就是说 Rust 的类型系统和所有权模型保证了内存安全性和线程安全性 - 使您能够在编译时消除许多类错误。也就是说,你在不使用“ unsafe 块”的前提下(大部分情况下都不会用到),很难写出野指针乱飞或者线程不安全的代码,因为编译不过去,更别说一些低级错误。大部分情况下,你的程序只要能够编译过去,运行起来也没有什么问题。
|
71
willm 2019-01-30 20:49:00 +08:00
Rust 的定位就是系统编程语言,主要瞄准目前 C/C++的市场,而这块市场其实并没有那么大。绝大多数的开发场景对性能和运行时安全性的要求都没有达到这个程度,Rust 的特性是很好,但某种程度上来说,对于大多数开发者属于屠龙之技。大部分开发者都是 CRUD 和业务逻辑,或者调包侠,根本没有机会,也没有能力去做浏览器内核、游戏引擎系统级别的编程。而真正做这种工作的人,又不会产生 Rust 有没有用处的疑问。
|
72
willm 2019-01-30 20:50:53 +08:00
所如果从找工作、升级加薪走上人生巅峰的的视角来看,Rust 绝对不是个好选择
|
73
upsuper 2019-01-30 21:48:56 +08:00
对 Rust 的应用场景有所怀疑的,我们可以举几个国内的例子。PingCAP 用 Rust 这个众所周知了,字节跳动前一段也一直在招 Rust 的人(并不好招,毕竟会的人还是少),阿里巴巴前一段上线了一个用 Rust 写的时序数据库替代 InfluxDB,引用开发者的话“系统消耗对比低好几倍以上,另外查询性能也有很大改善”。此外我有听说 B 站和知乎的后端组件里也有用 Rust 实现的,但具体应用情况不清楚。
|
74
exch4nge 2019-01-30 22:11:54 +08:00
一直再观望 Rust 目前为止最希望赶紧定下来的是对异步 IO 的支持,虽然有第三方的 mio,但目前还是感觉不够好,官方的 future/async/await 还一直没定下来,本来以为 Rust 2018 能把这个 feature 定下来,发现还是没有定。
Rust 为了使代码内存安全牺牲了很多东西,这个得失确实也不太好评判好坏,只能说在一些场景下确实利多一些。 总之 Rust 语言本身的设计还是有很多值得学习的地方的,包含了很多现代 PL 的特性,学一学没有坏处,自己开发用一用也没什么问题,不过生产环境中还是需要团队再三考虑的。 |
76
vagranth 2019-01-31 00:19:20 +08:00
目前正在因为工作原因看 rust,这么说吧,作为一个还算过得去的 java/c++程序员,rust 给我的感觉是哭笑不得。
基本我每写一行代码要出现 3 个编译错误,而且 google 不到怎么改,要再回头去看概念,然后连猜带蒙各种绕圈解决问题。 当然,这语言好处很明显,就是用来替代 C 的,但不是替代 java/c++。 |
78
danc 2019-01-31 01:06:46 +08:00
对于 @exch4nge 大神提到的 future/async/await,这个东西确实提了好久了,但到目前为止,我还不知道 future/async/await 这几个东西能派上什么用场。实际中涉及到网络通信或者线程间同步的部分,我都喜欢用 epoll/poll + eventfd。比如我在上面提到过消息队列,就是两个线程,一个线程中用 epoll,负责网络通信,另一个线程里用 poll,负责消息转发逻辑,你可以利用 eventfd,把你自己的数据结构注册到 epoll/poll 里面。但是,这个程序如果用
future/async/await 那一套,我还真不知道该怎么搞。所以,现在就是做好的时候,不要观望了,抓紧开始吧。 |
79
danc 2019-01-31 01:17:30 +08:00
@vagranth 大神说的没错,rust 学习曲线确实过于陡峭了,“而且 google 不到怎么改”,大部分情况下,你都不需要去谷歌的,认真看编译器给你反馈的信息就好,比如:
fn main() { let foo = 123; foo = 456; } 这段代码是有问题的,编译器会给出一些警告和错误: Compiling playground v0.0.1 (/playground) warning: variable `foo` is assigned to, but never used --> src/main.rs:2:9 | 2 | let foo = 123; | ^^^ | = note: #[warn(unused_variables)] on by default = note: consider using `_foo` instead warning: value assigned to `foo` is never read --> src/main.rs:3:5 | 3 | foo = 456; | ^^^ | = note: #[warn(unused_assignments)] on by default error[E0384]: cannot assign twice to immutable variable `foo` --> src/main.rs:3:5 | 2 | let foo = 123; | --- | | | first assignment to `foo` | help: make this binding mutable: `mut foo` 3 | foo = 456; | ^^^^^^^^^ cannot assign twice to immutable variable error: aborting due to previous error For more information about this error, try `rustc --explain E0384`. error: Could not compile `playground`. To learn more, run the command again with --verbose. 然后, “ help: make this binding mutable: `mut foo`”,编译器会提示你把 “ let foo ” 改成 “ let mut foo ”。 大多数情况下,编译器都会给出友好的提示。 |
80
xkeyideal 2019-01-31 09:19:47 +08:00
你们都没说到点上,PHP 是世界上最好的语言,没有之一
|
81
vagranth 2019-01-31 11:33:58 +08:00
@danc 谢谢,对我来说,其实最痛苦不是编译出错,而是一些常用的实现模式不知道在 rust 里面怎么搞,或者说缺少最佳实践的指导。当然,我觉得是我看的代码和写的例子不够多的原因。
举例来说,在 java 里面,我要实现一些功能,在类里面封装几个成员变量,在类内部可以随意使用。对于使用者来说,是不需要关心这些成员变量的。而且使用者在不同地方使用同一个对象的话,这些成员变量的变化可以在对象的创建者和使用者之间轻松传递。 在 rust 里面,由于 ownership 的存在,我一直没想明白如何对做类似的封装,来隔绝使用者和内部实现细节。 |
82
sdijeenx 2019-01-31 11:59:15 +08:00
@secondwtq 对于 Rust 开发者来说,造轮子正是他们使用 Rust 的目的之一,用更加安全的语言开发程序可以避免程序在运行时出现各种预料之外的情况。(基本想法类似诺亚方舟)
Rust 会让可能出现的错误尽量在编译阶段展示出来,而不是像 C 艹一样只提示编译错误,不关心运行时是否会错(内存泄露&缓冲区溢出等)。 |
83
ospider 2019-02-01 08:16:06 +08:00 via Android 1
复杂的并不是 rust,而是计算机本身。rust 中的概念基本都能在 C++ 中找到完全对应的概念。只不过 rust 强制要求你必须遵守,在 C++中你可以选择不遵守,但是写出来的代码正确性没有保证
|
84
sidgwick 2020-04-22 18:37:54 +08:00
头大,,, 我学来学去真的很多基本的数据结构写不出来😭
|
85
25zai 2021-02-15 00:30:58 +08:00
挖一铲,现在是 2021.2.15
四天前 RUST 从 Mozilla 独立出来了,由五家大厂( 华为 Microsoft Google AWS Mozilla )作为创始成员建立了 RUST 基金会。 昙花一现已经是不可能的了。 |