说起来有点丢人,我最爱的那门语言,开头两个月几乎把我整崩溃。我之前写代码全靠"告诉机器一步步做什么"那套思路,状态满天飞,改一个地方牵出一串bug也习惯了。结果换到一门把 state 和 computation 彻底分开的语言,Hello World 都写得别扭——不是语法难,是脑子转不过来。严格来说
那阵子真怀疑自己是不是不适合写代码。后来某天突然想通了它的核心抽象:当你不再把"值"和"怎么算出来"混在一起,很多过去查了三天都查不出的问题,一下子全说通了。比如以前那种"明明逻辑对、结果却不对"的诡异bug,根源往往就是状态被悄悄改了。
它没让我写得更快,反而更慢了,至少头半年是。但从那以后我写任何语言都更清楚自己在干什么