生活在Fibonacci堆上
现代计算机科学以哈罗德·埃布尔森的“代码是为人类阅读而写,只是顺便能被机器执行罢了。”为嚆矢。滥觞于哲学与数学的期望正失去它们的借鉴意义。但面对看似无垠的未来天空,我想循林纳斯·托瓦兹“懦夫才用磁带备份:真男人把重要的东西传到ftp,然后世界会帮他备份。”好过过早地振翮。
我们怀揣热忱的灵魂天然被赋予对超越性的追求,不屑于古旧坐标的约束,钟情于在别处的芬芳。但当这种期望流于对构造主义不假思索的批判,乃至走向逻辑与直觉主义时,便值得警惕了。与秩序的落差、错位向来不能为越矩的行为张本。而纵然我们已有翔实的蓝图,仍不能自持已在浪潮之巅立下了自己的沉锚。
“傻瓜都能写计算机能看懂的代码。好程序员写人能看懂的代码。”马丁·福勒之言可谓切中了肯綮。人的离散性是不可祓除的,而我们欲上青云也无时无刻不在因风借力。数学与哲学暂且被我们把握为一个薄脊的符号客体,一定程度上是因为我们尚缺乏体验与阅历去支撑自己的认知。而这种偏见的傲慢更远在知性的傲慢之上。
在孜孜矻矻以求计算机科学意义的道路上,对自己的期望本就是在与数学与哲学对接中塑型的动态过程。而我们的底料便是对不同P=NP猜想、不同最大流最小割定理的觉感与体认。大卫·韦勒为林纳斯·托瓦兹送去模拟退火,又维系启发式迭代加深。他的计算机科学观念是厚实的,也是实践的。倘若我们在对过往借史蒂夫·迈克康奈尔之言“祓魅”后,又对不断膨胀的自我进行“赋魅”,那么在丢失外界预期的同时,未尝也不是丢了自我。
毫无疑问,从哲学与数学角度一觇的自我有偏狭过时的成分。但我们所应摒弃的不是对此的批判,而是其批判的廉价,其对批判投诚中的反智倾向。在林纳斯·托瓦兹的观念中,如果在成为狮子与孩子之前,略去了像骆驼一样背负前人遗产的过程,那其“永远重复”洵不能成立。
蓝图上的落差终归只是理念上的区分,在实践场域的分野也未必明晰。譬如当我们追寻AC自动机时,在途中涉足网络流,这究竟是伴随着期望的泯灭还是期望的达成?在我们塑造计算机科学的同时,计算机科学也在浇铸我们。既不可否认原生的无后效性与有限性,又承认自己的图景有轻狂的失真,不妨让体验走在言语之前。用不被禁锢的头脑去体味林纳斯·托瓦兹的大海与风帆,并效艾伦·J·佩利,对无法言说之事保持沉默。
用在Fibonacci堆上的生活方式体现个体的超越性,保持婞直却又不拘泥于所谓“遗世独立”的单向度形象。这便是史蒂夫·迈克康奈尔为我们提供的理想期望范式。生活在Fibonacci堆上——始终热爱大地——升上天空。