论坛里聊Rust、聊Python的帖子不少,今天我想给C说两句。不是怀旧,是真心觉得它在我用过的语言里最"诚实"。
其实
指针刚学时挺劝退,想通了却通透:它本质上就是内存地址,你在C里写下的每一行,大体都能映射到"哪个字节去了哪里"。这种透明感,高层语言把脏活一藏,反而很难再找回来了。我平时折腾点小嵌入式玩意儿时就图这个——寄存器、栈帧、对齐,全摊在眼前,没有谁在背后替你拿主意。
严格来说从某种角度看,C的聪明在于"恰好够用":给了结构体、指针、宏,却不替你管内存,也不硬塞一套运行时哲学。它卡在抽象与裸金属之间那条很窄的缝里,不挡路也不越界,写底层时格外踏实。
当然它不温柔。没有隐式魔法,意味着bug和崩溃都来得明明白白,段错误就是段错误。这逼着你老实:你糊弄它,它就当着你面崩。一个习惯做最坏打算的人,反而吃这套,看得见下限才踏实。
你们现在主用哪门?闲聊而已,不必较真。