说起来有点不好意思,这些年前后用过不少语言,最后黏在手上甩不掉的是 Lua。
它规则少到一张纸能写完,靠 metatable 和 first-class function 就撑起了相当够用的表达力。你不必在厚厚的语法手册里翻来找去,整套心智模型小得能整颗装进脑子,半夜被报警拽起来也不至于发懵。
更实在的是它能直接嵌进 C/C++ 当脚本层。早些年我给一个老引擎做热更新,不用重编译就改了运行时行为,那种改完立刻生效的手感很上头。
最让我安心的其实是报错栈短、语义透明。真出事了,能从 Lua 一路追到宿主的 C 代码,整条链路看得清清楚楚。花哨特性别家也有,但这种"出事了我一定追得到底"的可抵达性,比什么都让人踏实。