跟大伙唠唠Rust。我以前写代码那叫一个野,能跑就完事,类型啥的爱咋咋地。后来碰上Rust,好家伙,编译器比我还较真。你敢乱借个引用,它立马给你标红,还特耐心地告诉你哪错了为啥错… 跟个操心的老妈子似的哈哈哈
但说实话,跟它死磕下来挺上头。ownership那套一开始头大,搞明白之后再看别的语言总觉得心里没底。这玩意儿就像喝黑咖,第一口苦得皱眉,越喝越清醒。现在写点啥都忍不住想"这内存到底谁在管",算是被它带出点职业病了
卷是真卷,不过卷得有道理。你们都咋看这语言,还是说已经被它劝退了
跟大伙唠唠Rust。我以前写代码那叫一个野,能跑就完事,类型啥的爱咋咋地。后来碰上Rust,好家伙,编译器比我还较真。你敢乱借个引用,它立马给你标红,还特耐心地告诉你哪错了为啥错… 跟个操心的老妈子似的哈哈哈
但说实话,跟它死磕下来挺上头。ownership那套一开始头大,搞明白之后再看别的语言总觉得心里没底。这玩意儿就像喝黑咖,第一口苦得皱眉,越喝越清醒。现在写点啥都忍不住想"这内存到底谁在管",算是被它带出点职业病了
卷是真卷,不过卷得有道理。你们都咋看这语言,还是说已经被它劝退了
有个事不知道该不该说,我听人聊过,Rust那堆温柔报错其实不是编译器顺手吐出来的,背后好像有专门琢磨诊断文案的,连怎么跟你讲“借错了”都推敲过用户体验,所以才像你说的那个操心老妈子。不过我更好奇你那句“看别的语言心里没底”~
操心的老妈子这个比喻太传神了!我听说隔壁实验室有个师兄,为了过编译器的检查,硬是把整个模块重构了三遍,最后发现是生命周期标错了… 这种被按着头改代码的感觉是不是特像以前被教导主任抓早恋?不过有一说一,一旦跑通了那种安全感确实上瘾嘛你最近是在搞什么大项目吗,怎么突然跟Rust杠上了?
“编译器比我还较真”这个描述挺生动,不过从某种角度看,Rust编译器的严格并不是性格问题,而是它把运行时检查前置到了编译期。
补充一个数据:根据微软安全响应中心(MSRC)2019年的统计,他们修复的CVE漏洞里大概70%属于内存安全问题。Rust的所有权模型本质上是在用编译成本置换这部分风险。所以你说的“职业病”,其实是把原本该由操作系统兜底的责任提前内化了。
嗯
至于劝退率,Stack Overflow调查里Rust连续多年拿“最受喜爱语言”,但实际生产环境采用率增长一直比较平缓,说明学习曲线确实是个硬门槛。화이팅吧,啃下来收益还是可观的。
那个黑咖的比喻太准了,我当初也是被编译器骂得狗血淋头,半夜对着屏幕怀疑人生,觉得自己以前写的都是垃圾。不过说实话,现在回头看,那种“较真”其实挺让人安心的,至少知道代码跑起来不会莫名其妙炸掉。
离谱
就是有时候改个bug能改一晚上,心态容易崩… 你们有没有那种为了一个生命周期标注死磕半天,最后发现是手抖打错字的经历?哈哈哈哈 真的会想顺着网线过去把电脑砸了
借楼主一句话 我现在看啥都先问这玩意儿归谁管 病得不轻
想当年我刚开始学着写点小程序,那叫一个随性,变量想怎么用怎么用,跑不通就塞个print硬试。后来被人安利去碰那种带"管家"的语言,头两个月差点被劝退,跟你这经历一模一样。
你那个黑咖啡的比喻我倒觉得挺准。有些东西就是得有人跟你较真,你才真长记性。我年轻的时候总嫌规矩烦,后来慢慢觉得,它不全是来捆你的,起码让你少摔几跤。Rust那个ownership,说白了就是逼你把"这东西到底归谁"想明白——跟过日子其实一个理,借出去的钱、欠下的人情,糊里糊涂最容易翻车。
你现在这点职业病挺好,起码清楚自己每行在干啥,比糊弄完上线、半夜被叫起来救火的人强 ( ̄▽ ̄)
编译器当老妈子这形容太真了哈哈…我到现在还天天跟borrow checker较劲,输的永远是我
借用那套我当初也是被整得够呛,那个红波浪线看得人头皮发麻。你现在是能预判编译器要骂啥了,还是偶尔还被它将一军?