- 主题:AI 写代码确实太爽了
仔细想想其实 move_to(10.丝()) 也不是非要rust这样有trait的语言才行
完全可以
struct Length(i32);
fn move_to(length: Length)...;
fn 丝(number: i32) -> Length ...;
fn um(number: i32) -> Length ...;
...
move_to(丝(10));
但是的确好像在以往各语言的工程实践中不常见到这种充分利用类型系统的风格。貌似这风格也是从函数式圈子里发展过来的。
【 在 lvsoft 的大作中提到: 】
: 是的,这个东西只是用类型系统去约束业务逻辑,现代语言都可以做到。
: 但选择一门语言更重要的是选择了一种风格。比如我前面说的这个例子,
: 如果不是写这个库的人有这个洁癖,rust下当然也是可以和c一样用&&和|=的方式来读和写bit位的。
: ...................
--
FROM 123.120.171.*
看了摘要感觉不错 没想到能有这样的书
【 在 beep 的大作中提到: 】
: 推荐读一下 Domain Modeling Made Functional: Tackle Software Complexity
: 就是在讲各种编译器保证业务逻辑的方法,只要语言有像样点儿的类型系统就可以
: 知乎上的 工业聚 也写过类似的系列文章
: ...................
--
FROM 112.224.75.*
这个例子其实也没啥,这玩意本质上来说跟语法糖一样也没啥本质区别。
rust的很多东西都这样,粗看也没啥,奇技淫巧罢了,不是什么非常本质的东西。
但你用的越多越能感受到这里有一种奇妙的平衡感。
学院派追求的完美,是理论上极致的抽象和自洽,
工程师追求的完美,是庞大约束条件限制下恰到好处的平衡。
很多喜欢研究语言的人都不太瞧得上rust,rust虽然吸收了一些学院派语言的内核,但本质依然是一门讲究平衡的工程师语言。
我刚开始学rust的时候也非常不喜欢rust,觉得很多设计很奇葩,也是用了一段时间之后才领悟的
【 在 beep 的大作中提到: 】
: 仔细想想其实 move_to(10.丝()) 也不是非要rust这样有trait的语言才行
: 完全可以
: struct Length(i32);
: ...................
--
FROM 101.229.188.*
我记得这书是用f#写的,但是基本不影响,都看得懂。里面有些是函数式语言吃饱了撑的搞出来的各种烂模式,但大部分尤其是类型相关的实践都是实际工程用得上的
【 在 gfkid 的大作中提到: 】
: 看了摘要感觉不错 没想到能有这样的书
--
FROM 123.120.171.*
是的,我同意你说的,一方面是语言本身,rust提供了必要的基础设施比如好用的类型和模式匹配,另一方面更重要的是社区风格风气,主流的包都在教你甚至逼你充分利用最先进的语言特性和实践思路来做事,比如你提到的,比如serde。。。
【 在 lvsoft 的大作中提到: 】
: 这个例子其实也没啥,这玩意本质上来说跟语法糖一样也没啥本质区别。
: rust的很多东西都这样,粗看也没啥,奇技淫巧罢了,不是什么非常本质的东西。
: 但你用的越多越能感受到这里有一种奇妙的平衡感。
: ...................
--
FROM 123.120.171.*
非常赞同你的观点
测试就集成测试管用
单元测试,理论上管用,实际上真的用处不大
【 在 lvsoft (Lv(The Last Guardian)) 的大作中提到: 】
: 所以我已经强调了很多遍了,rust是ai时代最重要的语言,没有之一
: 比如我现在是基本不写测试代码的。
:
: 曾经我也是测试先行,用一堆测试去框住结果。
--
FROM 113.194.225.*
claude code效果最好,可惜国内不能用
【 在 hgoldfish 的大作中提到: 】
: 写几行需求给它。然后就刷刷刷生成一堆代码。和 Dr. lvsoft 不一样,我还会看一下它的源代码,理解理解。然后再给修改建议。AI 经常能够给出我一时半会想不到的方案出来。到这里虽然有提长,但总体提升其实一般般。
: 最爽的地方是 AI 给测试代码实在太方便了。改完代码单元测试跑一下,功能和性能都同时测清楚,上线代码再也不焦虑了!
: 直到 AI 出来,测试驱动开发这个软件工程模型才真正实用。以前都是扯蛋。
--
FROM 111.18.248.*
要么就推动有自己的,要么就推动他落地
【 在 wanllow 的大作中提到: 】
: claude code效果最好,可惜国内不能用
--
FROM 183.197.204.*
人赢呀
--
FROM 112.64.100.*
需求只要讲清楚,给代码速度很快。自己跑一下再让他修改,很可以的
【 在 hgoldfish 的大作中提到: 】
: 写几行需求给它。然后就刷刷刷生成一堆代码。和 Dr. lvsoft 不一样,我还会看一下它的源代码,理解理解。然后再给修改建议。AI 经常能够给出我一时半会想不到的方案出来。到这里虽然有提长,但总体提升其实一般般。
:
: 最爽的地方是 AI 给测试代码实在太方便了。改完代码单元测试跑一下,
: ..................
发自「今日水木 on iPhone 12」
--
FROM 116.237.99.*