语法太繁琐了, 代码噪音太多, 任何地方都要写安全相关的东西; 游戏逻辑大量的彼此引用, 大量的简单函数, 总不能都返回option吧; 特别是彼此引用, 明明不会有问题, 但是必须判断, 或是unwarp(), 写upwarp也不是什么问题, 但每行都写upwarp... upwarp option 这些都是有成本的, 虽然现在cpu不差那点简单计算;
rust是不是只适合金融, 系统级等特别要求安全的领域; 像游戏这种领域并不适合呢?
1
共 3 条评论, 1 页
评论区
写评论thanks; 房间类游戏有点像链表;
--
👇
Aya0wind
游戏服务端没写过,web服务端倒是用的挺好的,你主要是不适应,我刚开始写也跟你差不多的想法,好像是编译器给我找麻烦一样,Option的作用是什么,单纯包一层吗?其实这些问题都是后面才懂的。 借用我在其他论坛上看到的一句话,刚开始用Rust,觉得编译器是傻X,深入了解之后,觉得自己是傻X。 就和我自己用C++写的项目一比,调试找错的花的时间少太多了,我用C++的时间比Rust长,但是自认为用C++写出来的东西普遍质量不如Rust。Rust的硬性规则硬是帮我纠正了一些很难改变的思考习惯,里面很多都是以前从来都没思考过,但是确实存在的问题。 像Option/Result这种错误处理就是标准的函数式的错误处理方式,如果你之前没有接触过的话觉得别扭很正常,因为这种方式是一反你的习惯的。Rust这点是从Haskell学的,一般的命令式语言想要还没有呢。像C++/Java近年来也加入了Optional,对应的就是Option,但是由于缺少模式匹配以及各种语法糖,怎么用都没有Rust这种原生支持的好用。配合模式匹配,let绑定,以及像map,and_then这样的函数,并不需要到处unwarp(事实上规范的Rust代码都极少用unwrap的,用它纯属偷懒),还有Rust独有的各种相关的语法糖,错误处理流程很清晰的。
其实你去看看写得好的rust代码,不要太优美,你说的噪音基本没有。
rust写游戏服务端是非常适合的。