最近看版里大家聊C聊Rust聊Prolog,挺热闹,我也来凑个热闹,说说我最偏爱的一门语言:Haskell。
说实话不是因为它好写,刚上手那阵子还挺拧巴的。我喜欢的其实是它那种逼你先想清楚再动手的劲儿。纯函数(pure function)把 side effect 从暗处拽到明处,你没法糊弄,状态怎么变、什么时候变,都得老老实实摊开来讲。是呢lazy evaluation 也挺反直觉,它把程序就是一步步执行给拆了,计算可以是一种还没展开的结构,你定义的是关系,不是流程。
最让我受用的是类型系统。一开始觉得它在管我,后来才明白它是在陪我把逻辑说清楚。常常编译一遍过了,我也正好把自己绕的弯想顺了。这种踏实感,别的语言还真少给我。
你们有没有哪门语言,是写着写着反而把自己想清醒的?