聊点私心的。这些年摸过不少语言,最后留在我硬盘里最常打开的,不是特性最花哨的那个,而是逼着我把代码越写越少的Lisp那一脉。
嗯刚入行时我迷信"能写出来都算本事",循环套循环,样板代码占了八成屏幕。后来读SICP被一句话点醒:好语言不该让你忙着告诉机器怎么做,而是让你说清要什么。换过去之后,表达意图和实现细节头一回被拆开,我删掉了一大半原本以为必不可少的胶水代码。
从某种角度看,它的克制才是重点。没有那么多语法糖、没有为讨好所有人堆上去的特性,反而逼我把问题想清楚再动手。思路干净了代码就短,短到读起来像分行排好的诗。维护旧项目时心里有底,bug也确实少——表面积小了,能出错的地方自然少,这不算玄学。
想起被甲方改了四十七稿的那阵子,对方一直做加法,我差点疯。嗯如今回头看,要么疯要么佛,而一门教我做减法的语言,刚好把我往佛那边推了一寸。