- 主题:Rust 有点油腻
简单扫了下语法,有点劝退啊:
println!("Hello, world!");
这叹号是咋回事?一个打印语句写这么丑。
let x: u32 = 5
这么写,是要给类型赋值吗?
另外u是啥,unsigned int简化成u,好看吗?
io::stdin().read_line(&mut guess).expect("Failed to read line");
读取命令行输入,然后期待失败。。。
Rust 给人第一印象,是一个抠脚大汉设计出来的,品味真的糟糕。
哎,没办法,还得学。
--
FROM 60.247.21.*
在Rust官方教程里也叫annotation
【 在 vieux 的大作中提到: 】
: 感叹号同不理解。
: 第二条还好,类似 python 里面的 annotation 写法。
--
FROM 60.247.21.*
对,我就打算看一遍,就用AI写项目了
【 在 DreamDreams 的大作中提到: 】
: 有AI 好学多了, 差不多看一遍, 让AI 帮着 写, 上手
: 快 得很
:
--
FROM 60.247.21.*
道理我都懂,就是忍不住吐槽一下。
你说到一个非常关键的问题,任何东西要想学的快,就要先从内心接受,甚至觉得他非常先进。
【 在 hellowub 的大作中提到: 】
: println! 里的感叹号是说明这个是“宏”,而不是“函数”。
: 宏和函数还是有很多区别的。Rust是在调用的时候明确区分这两者,符合Rust不隐藏的理念。
: let x: u32 = 5,把类型放到变量名后面是有好处的(但具体好处我也说不清),新语言比如go也这么做。习惯就好。另外,大部分情况下是不需要写这个类型的,Rust都会推导出来类型的。
: ...................
--
FROM 60.247.21.*
io::stdin().read_line(&mut guess).expect("Failed to read line");
那你说说,这句读起来就像在期待失败,精妙在哪。改成onFailure或者干脆except,是不是更直观?
【 在 lvsoft 的大作中提到: 】
: 初学常有的状态。
: 上来先否定别人的设计,跟你之前学的别的语言一样那就是抄的,是缝合的。不一样那就是丑的,怪异的。
: nb你就自己发明一个语言,做到有大量用户。
: ...................
--
FROM 60.247.21.*
这个例子的话,我是习惯于所见即所得这个习惯,或者Self-documenting code。
当前我在学,所以我肯定会“认为它好”,因为我明白第一性原理:想学的快,就认为它好。
另外,经过哲学的训练,我也不执着于先形成的所谓“所见即所得”习惯,那并不重要,可以随时控制大脑调整。
发帖子就是玩,开作者玩笑。他怎么设计并不重要,重要的是我怎么学,怎么用。
【 在 hellowub 的大作中提到: 】
: 吐槽,说明你觉得他不好。
: 但其实,不一定是他真的不好,而是他跟你之前学的东西不一样。
: u32 和 unsigned short,哪个更好呢?
: ...................
--
FROM 60.247.21.*
你对如下观点有何见解:
我看类型推导也是个多余,属于过度设计。推导是写的时候省事了,但读的时候,读者脑子里面还得有个线程,人肉充当编译器进行类型推导。没感觉高明在哪,虽然如此,但也还有底线,还管类型,总比弱类型语言负责点。
【 在 lvsoft 的大作中提到: 】
: 初学常有的状态。
: 上来先否定别人的设计,跟你之前学的别的语言一样那就是抄的,是缝合的。不一样那就是丑的,怪异的。
: nb你就自己发明一个语言,做到有大量用户。
: ...................
--
FROM 60.247.21.*
这个例子很好,说明了极端情况下类型造成的代码难读。
能看出来这是你用“人肉编译器”推导出来的类型。这样做容易出错不说,还必须缓存在脑子里。放在纸面上尚且难以阅读,何况放在脑子里。
关于这行代码,至少人肉推导想多了,可以这样写:
let v: Vec<i32> = (0i32..10i32).collect::<Vec<i32>>();
【 在 hellowub 的大作中提到: 】
: 我个人理解,也不能处处都完全明确。编译器还是要聪明些,可以做些省略。
: 你觉得省略声明 更费脑子,那你可以写完整的声明。
: 有人觉得不写声明更简单,就可以省略声明。
: ...................
--
FROM 60.247.21.*
可以看出你是一个非常热爱技术的人,很羡慕你,能乐在其中。
我见过很多大神,怎么说呢,大神一定是聪明的,但不一定有品味,或者说一定没品味。因为他们已经满足于他们的聪明,不再追求品味了。想追求也求不得,因为编程语言就是挖土的铁锹,是干活的工具,本来就是丑的,不是用来审美的。
不管是一个工程的设计,还是一个语言的设计,过程中会出现大量的权衡行为。就是左右权衡,让一个丑的东西,到底是往左边丑一点,还是往右边丑一点,大神要根据产品的定位来做决策。最终弄出来一个凑合用的东西。
【 在 hellowub 的大作中提到: 】
: 学新语言的几种可能的状态:
: 1. 学到什么算什么,不动脑子。
: 2. 边学边跟之前的语言对比:
: ...................
--
FROM 60.247.21.*
不是不是,我是说你聪明,而且还能乐在其中,是聪明人中的聪明人,哈哈。
【 在 hellowub 的大作中提到: 】
: 你的意思是,我聪明但没品味?
: 哈哈
:
--
FROM 60.247.21.*