工科的实用主义

最近,围绕 utrace 能不能进入 Linux kernel 主开发树展开了一场论战。Linus Torvalds、Ingo Molnar、Andrew Morton、Alan Cox、Tytso 等悉数加入。Linus 一直强调的观点就是:如果 utrace 只提供了一个非常灵活,可以做无数“未知”事情的接口,而不能提供杀手级应用,则不会被接受进内核。

原因不是因为我们需要杀手级应用实例,而是因为只有有了这样的应用程序,接口才能在实际使用中得到逐步完善。内核发展的历史中已经经历过惨痛的教训,因为只提供接口而缺少应用,导致整个接口发展的停滞不前。开源软件的实用主义风格展现得淋漓尽致。

通常我们只说学以致用,实际上,太多的时候,只有用了,才能真正学会。大一天天学微分积分,直到最后在物理课上天天用积分算电场磁场,才算真正懂了;学自控的时候张口 PID,说句实话知道最后在计算机控制里面实际写了 PID 控制程序才算真正懂得 PID 是干什么用的。

写到这里突然想,所谓的工科生,不就是通过这么无数的实用主义实例早就出来的么。讲求逻辑、追求客观和理性,冷静到令人发指。工科了这么多年,早已对无端的幻想嗤之以鼻,习惯用几何、对称和分形解释美学。曾经的科幻迷,连《三体》都看不下去了,因为大脑已经不能跨越物理科学与科幻的鸿沟。也许,只有哥本哈根解释和平行宇宙类的硬科幻,才能提起我的兴趣。

这样的工科生,缺乏浪漫是必须的。不要说什么红绿灯很好看,不就是发光二极管么。我还要说,想当年,我用汇编、C 在 80896、PIC、PLC 上都写过交通灯实验,必须的。