我平时吃饭的家伙是Python和C++,但真正让我"开窍"的,是读研时被迫啃下去的那门纯函数式语言。说"被迫"不算夸张——当年导师丢过来一堆论文,要求所有实现都得是immutable、pure function,任何副作用都要被类型系统圈进牢里。第一个月我几乎每天都在跟编译器吵架。
严格来说
后来慢慢品出味道来了。其实它把"状态"和"副作用"当成头号敌人,初看是束缚,实则逼你写出那种可以纯靠推理验证、随手就能测、自然就不太出bug的代码。btw,这种思维一旦建立,回头看任何语言都像被开了天眼——你能一眼看穿它在哪做了妥协、哪处为了工程便利牺牲了正确性。
其实工作里它基本派不上用场,公司没人会用,我也没机会在生产环境写。但我说不清为什么就是放不下。从某种角度看,让人上瘾的从来不是什么语法糖,而是它塞给我的那套抽象思维模型