我读研究生时,特别喜欢琢磨计算机的底层逻辑。最先感兴趣的,是用汇编语言编写设备驱动程序。后来,开始对底层软件感兴趣。当时有种简单的“单板机”Z80。这种计算机有原始的“操作系统”。我从一本教材中找到了源代码进行通读。代码量不大,但“麻雀虽小五脏俱全”。读完以后,明白了很多事情。后来,还搞到了 BIOS的源代码,研究过UNIX的源代码。在上“操作系统结构”时,还真的编了一个“操作系统”当作业。关心底层逻辑,其实关注的是一些具体的应用技巧和做法。这些东西搞明白后,出了问题就能知道往哪里想,再奇怪的BUG都能找到原因。
后来,随着编程能力的提高,我有点膨胀了。从底层开始编了一个管理信息系统,还为自己赚了点小钱。凭心而论,这个系统并不成功。甚至可以说是失败。但这件事让我体会到编写大软件有多难、摸到了自己能力的边界,有了自知之明。此后一个阶段,我开始对软件工程和思想产生了兴趣,不再追求编程中的技巧。但遗憾的是:后来并没有沿着这条路走下去,而是去搞自动化、编编小程序了(相当于开发工业APP)。但以上的这些经历,对我帮助很大。
后来我意识到:人的认知其实都有两个发展方向。一个是不断地深入微观、了解细节;一个是不断地进入宏观、把握系统和全局。
我搞了20多年技术,开始的时候希望钻得深一些。后来遇到困难了,发现需要避开“牛角尖”、要发挥自己的特长、利用环境的优势、顺应社会的发展。于是,开始对历史、科普、经济、哲学、管理类的学问感兴趣。上海疫情期间,读了几本人类学的著作(包括老周的《估值原理》),又给了一个反思的机会。我把这些思想,写入了《工业大数据》、《智能制造与数字化转型》的课件中。
两个发展方向大体对应着两种思维方式:分析与综合。人的认识过程中,最好是先了解细节,再研究系统。了解了细节,就容易理解可实施性,系统性的构思就容易落地。否则,认知就会失去根基,想法容易变得大而不当、空而不实。
大家都熟悉所谓的李约瑟之问:现代科技为什么没有产生在中国。我想,一个重要的原因是:中国思想界的先哲们(如老子、孔子),往往擅长综合性思维;而西方思想界的先哲们(苏格拉底、欧几里得),则更加重视分析。
这种差别对后世影响很大。
千百年来,中国的朝野一直都有所谓“清流”的存在。这些人只是坐而论道而不讲可操作性,以至于误国误民。直到现在,许多领导讲话时,还是习惯于“既要、也要、还要”的语句;专家讲话时,习惯于宏大的目标和叙事方式而不顾代价、不顾现实可行性。时代变了,流传了千年的清流变成了博士、教授和院士;清流们的正义感没有了,但空话误国的习惯却依旧不变。这就是因为:他们只做了一头的学问。
我过去常说:大道理没有用处。这句话或许要修正一下:空洞的、对具体实践没有指导作用的大道理是没有用处的。而缺乏具体实践经验、不会做小事、没有遭遇过困难的人,往往说不出真正有用的大道理。在我国,这样的人还特别多。
春节前后曾经流行过一句话:尽精微而致广大。做学问大概也如此。前提是要言行一致、知行合一。