有点old school,但我最爱的还是C。别的语言都在忙着替你遮丑,C倒好,直接把机器的底裤掀开给你看。我第一次真正搞懂"数组就是指针"那会儿整个人是恍惚的——原来a[3]和*(a+3)是一回事,内存地址、偏移量、数据结构,一下全在脑子里对上了。
C几乎没有隐藏的运行时。你写一行,它就老老实实变成几条指令,没有GC在背后偷偷摸摸,没有VM替你兜底。调一个segmentation fault,就是最硬核的计组现场教学:它冷冰冰告诉你,刚才访问的那块地址不归你管。这种痛记一辈子。
更别说C是地基。操作系统、编译器、嵌入式,往上数几乎所有现代语言都在它肩膀上偷懒。懂了C再看别的语言,你才明白它们替你省了哪些麻烦、又藏了哪些雷。
写C得对自己狠一点,但正是这种不替你兜底的诚实,让它最像计算机本身。