- 主题:都说十年成就一个专家,为啥很多人20年C语言经验还是菜鸟?
rust最坑爹的地方不在于所有权和生命期这些玩意儿,这些学起来材料太多了,最坑爹的地方我觉得在于你要是不熟悉库函数,连最常用的Option Result都用的跌跌撞撞的
然后就是从OOP范式出身的人,看到别人把trait用得出神入化,感觉无法望其项背
【 在 lvsoft 的大作中提到: 】
: 现在有ai,学rust没啥难度了。
: 到今天为止我猛写了3天的rust代码,每天都很专注的写14小时的那种。我已经可以确定我后面可以完全用rust开发了,我终于把用了20年的python+c组合,升级到python+rust了~
: 前几年我尝试过转rust,但都浅尝则止了。主要的问题是我学语言都是放到实际项目里学,都是先看半小时语言介绍然后直接开始撸代码,遇到问题google解决,边撸边学的搞。但rust用这种方式学起来很困难,在初学阶段遇到问题很难彻底弄清楚。然后项目进度摆在这里我也不可能停下
: ...................
--
FROM 221.221.60.*
就比如说前面lvsoft用trait来保证量纲计算的正确性,类似这种使用trait的套路非常多。。。
【 在 beep 的大作中提到: 】
: rust最坑爹的地方不在于所有权和生命期这些玩意儿,这些学起来材料太多了,最坑爹的地方我觉得在于你要是不熟悉库函数,连最常用的Option Result都用的跌跌撞撞的
: 然后就是从OOP范式出身的人,看到别人把trait用得出神入化,感觉无法望其项背
: 吕
: ...................
--
FROM 221.221.60.*
对,对比起来,写c的话自暴自弃放任烂设计也能勉强写下去,写rust如果设计源头就有缺陷,写起来往往会极恶心,经常写不下去
当然所以写起来门槛也很高,需要比较长的时间来摸索语言使用的经验,反思设计反复改进
【 在 lvsoft 的大作中提到: 】
: 我前面说rust这门语言平衡的非常好,就是这种感觉。
: 在核心设计思路上,rust走的是组合的路线,而不是OOP一堆继承的路线。这个就比OOP高明的多。我是感觉OOP这种模型有点太学院派了,rust的组合+trait的方式有点实践派的感觉,我从中感觉看到很多c的影子。这一点我可太喜欢了。
: rust的问题我目前感受来说,主要是这种trait的组合很破碎。不像OOP,虽然OOP会搞出很深看了就烦的继承关系,但起码大家可以追根溯源找亲戚。当然OOP这种一切都要从root一层层派生下来的设计哲学我是很讨厌的,我认为就是脱裤子放屁。所以我超喜欢python的duck typing这种简单
: ...................
--
FROM 221.221.60.*
哈哈哈赞
【 在 lvsoft 的大作中提到: 】
: 准确的说,其实也不能算是硬件设计的问题,而是rust在倒逼一切,逼到硬件设计上也得遵循它的生命周期管理的规范...
: 我这个问题其实很简单,比如我有几个同构的模块需要驱动,在固件里肯定是把它们封装起来的。
: 但这些模块有一个enable pin,因为虽然你也不能排除单独启动其中一个关闭另一个的需求,但一般是所有模块都要启动的。刚好这块板子gpio口很紧张,我就把几个模块的enable pin合并到一块去了。
: ...................
--
FROM 221.221.60.*