哲思浸润出的软件理论之花

学术   2024-11-11 09:01   北京  

文 | 《中国科学报》 记者 胡珉琦


卅载崎岖步履辛,烂柯余力献车薪。
浮生易老心难老,世态趋新我未新。
自古痴缘多似梦,已迟花讯岂成春。
疲驴道远燕山暮,明月清风自可人。

已故中国科学院院士、中国科学院软件研究所(以下简称软件所)研究员唐稚松的这首诗写于1989年,那时他刚得知自己凭借“基于时序逻辑的软件工程环境的理论与设计(XYZ系统)”荣获国家自然科学奖一等奖。


《时序逻辑程序设计与软件工程》封面图。

唐稚松学贯诸多学科。当年,他带着自己的获奖成果在日本一个软件年会上作报告,除了计算机科学、软件工程、程序语言,还从中庸谈到禅宗、从亚里士多德讲到黑格尔,跨度极大,非常人所能理解。

在国内学术界,科学与哲学脱离是一种常态,可唐稚松却一反常态。作为计算机科学家,他有着扎实的哲学和数理逻辑学科背景,文理兼修,一辈子徜徉在诗、理、哲之间。

唐稚松投入时间最长的“XYZ系统”研究,正是他科学与哲学思想碰撞最极致的体现。

软件危机乍起



1972年2月,美国总统尼克松访华,这次破冰之旅也让两国科学家恢复了往来。

5个月后,由6位美国顶尖计算机科学家组成的考察团来到中国。其中就有两位软件和程序语言领域的权威——美国计算机学会主席、首届图灵奖得主艾伦·佩利(Alan Perlis)和哈佛大学计算机系主任托马斯·契山(Thomas Cheatham)。

很久以来,西方对中国的计算机研究水平知之甚少。有了这次机会,美国科学家和中国的计算机科学家大部分时间都在开会、办讲座、进行小组交流和研讨。

当时还是助理研究员的唐稚松的表现让美国科学家大为吃惊。因为唐稚松告诉佩利,自己刚刚读了他在几个月前发表的一篇最新论文。

不仅如此,美国科学家关注的计算机软件话题,唐稚松都能轻松参与讨论,且难得的是,他还能适时提出自己的见解,让契山十分佩服。

他们难以想象,中国科学家是如何在封闭的环境中做到不与国际学术研究前沿脱节的。

也正是因为这段短暂的交流,唐稚松的名字被美国科学家带到了国际计算机学术界。

而在当时,国际计算机学术界正在应对一场“软件危机”。

20世纪六七十年代,随着计算机的应用范围急剧扩大,软件系统的规模越来越大,程序设计的复杂度也越来越高。尽管有了高级程序语言,但软件生产仍由手工编程,不仅生产率低下,而且错误百出、可靠性差。这种现象被称为“软件危机”。

针对可靠性差的问题,计算机科学家提出结构化程序设计策略,即建立一套规范化的程序设计方法。

几乎同时,唐稚松在国内率先开展相关研究,分析了结构化程序设计研究的大量资料并进行总结,完成长篇论文《结构程序设计与结构程序语言》。

“这篇文章对当时我国软件研究工作者的影响很大。”唐稚松的第一位博士研究生、软件所研究员冯玉琳说。

在此基础上,唐稚松设计了一个面向汉字的结构程序语言XYZ,他称这种广谱语言为系列化语言族。它是后来XYZ系统的雏形。

随着科学的春天到来,作为学术“活跃分子”的唐稚松经常出现在各种国际会议上。

1978年,他把XYZ系列化语言族的概念及设计思想,带到荷兰国际信息处理联合会(IFIP)专家组会议上,引发同行极大关注。

两年后,他当选为IFIP TC2(Software:Theory and Practice)专家组成员,是这个专家组历史上第一位来自中国的成员。


唐稚松访问剑桥大学。

尽管唐稚松一贯主张科学家要有国际视野,积极参与国际交流,博采众长,但他也提醒青年同行:“千万不要盲目追赶新潮,要以分析批判的态度对待潮流引领者的工作。这些工作不但有待改进,而且在某种条件下,有时甚至在重大方向性问题上还长期走在值得怀疑的道路上。”

唐稚松说:“当这种情况出现时,除了旁观者清,而且因为所处的文化背景不同、思维方式有异,也许我们比他们更易发现问题并认清道路。”事实上,他职业生涯中最重要的学术成果,正是得益于内心的这种坚持。

技术理论之争



20世纪70年代,不仅“软件危机”没有解决,学术界和工业界还因为这个共同的困境陷入了割裂的局面。

长期以来,各工业先进国家无不以提高计算机软件生产率作为国家关键技术发展的重中之重。为了这个目标,美国与西欧的学术界提出了不同的解决方法。

美国学术界的方案着眼于技术,认为提高软件生产率应加强支撑软件开发工具的研制。

西欧学术界则认为软件生产率低主要由于程序可靠性差所致,关键是加强形式化程序语义理论与规范语言的研究。

一方只关注技术实际,另一方只关注理论研究,两者南辕北辙,越走越远。

“其后果是整个20世纪80年代,对于软件研究与发展来说,是一个理论与技术相互分离脱节、各走极端的年代。”这引发了唐稚松的思考,“这种情况是否合理?这些根本性问题是否已失去意义?”

唐稚松认为,事实并非如此。“语义的精确性与技术的自动化是相互依存、不可分割的,而且只有紧密结合才能达到提高软件生产率的目标。”

1979年,唐稚松应邀到美国斯坦福大学访问,发现佐哈尔·曼纳(Zohar Manna)等计算机科学家正在兴致勃勃地讨论由以色列学者阿米尔·伯努利(Amir Pnueli)提出的程序时序逻辑。


唐稚松(左一)与阿米尔·伯努利(左二)等交流。

时序逻辑被描述为表现和推理关于时间限定的命题的规则和符号化的任何系统,主要用于形式验证,以保证程序可靠性。

这样一种逻辑系统被引入计算机科学,用于形式验证,以保证程序的可靠性,成为一个重要的研究分支。伯努利也因此获得了1996年的图灵奖。

1997年,伯努利从以色列启程前往美国洛杉矶领奖前夕,曾给唐稚松发去一封电子邮件。他在邮件中写道:“我完全相信,对于使时序逻辑成为具有深远影响的概念的这一荣誉,你应该分享其中一个有意义的部分。”

唐稚松何以让这位著名科学家发出这样的感慨?

当年在斯坦福大学,唐稚松正是受到时序逻辑和几位美国专家的启发,大胆提出了一种可执行的时序逻辑语言XYZ/E,并把它作为软件开发过程的统一基础。

如果说伯努利获得图灵奖的最大贡献是开创性地将时序逻辑引入计算机科学,那么唐稚松则第一次把这种时序逻辑的形式化理论与最新软件技术结合起来。

他终于有了一个答案,理论与技术可以统一到同一个体系中,用以提升软件生产率并提高软件可靠性。

从逻辑到软件



1983年IFIP巴黎大会上,唐稚松向同行报告了可执行时序逻辑语言XYZ/E的想法。然而,现场专家的第一反应是怀疑,却又说不上来不妥之处。

唐稚松深知,要将数理逻辑与计算机技术结合起来,在理论研究与技术创新的交叉处寻找新的生长点,难度和风险很大。

多年后,他在一篇介绍XYZ系统目的、意义的文章中谈起当时的想法:“我明知我的这一途径将自己几乎置于全世界计算机科学理论主流的对立面,但我却坚信这是使计算机理论研究与技术结合的唯一正确方向,很有意义;但这样做工作量极大,必将耗费我余生的全部精力,且得不到理论家的支持。但我认为不必为此计较个人一时得失,坚持下去必将成功。”

在中国科学院院士林惠民心里,导师唐稚松就是这样独特的存在。

“他了解西方、学习西方,目的是为了超越西方。他更看重自己的想法,而不是一味步人后尘。”

其实,了解唐稚松学生时代的经历就能明白,他对待创新近乎执拗的态度究竟从何而来。

唐稚松的中学阶段是在湖南著名的明德中学和省立一中度过的。其中,省立一中对他的影响很大。这所学校不但有一批全省最优秀的老师,更有一种代代相传的风气——崇尚独立思考,不同流俗。

后来他又考入西南联大,得到大师们的学识滋养,以及“独立之精神,自由之思想”的人格浸润。

正因如此,国际学术界的怀疑和不理解,没能对唐稚松产生干扰,反而更坚定了自己的想法,并且不断拓展原有的研究内容。

在时序逻辑语言XYZ/E的基础上,唐稚松设计了一个软件工程工具系统。冯玉琳解释,这相当于一套软件环境保障体系,因为高级程序语言需要得到软件工程工具的支持,这样XYZ/E才能辅助以该语言进行的软件开发和维护。

可在当时,没有一种现成的软件工程环境可以与XYZ/E适配。于是,唐稚松正式将研究定位于基于时序逻辑的软件工程环境的理论与设计。

他带着学生从零做起,总共开发了5组工具:用于结构化设计的图形工具,包括分布式系统的数据流图、状态转换图和PAD图;用于对形式描述逐步求精的工具;用于验证的工具;用于语言转换的工具;用于模块管理和系统集成的工具。这是一项非常庞大且耗时的工作。

XYZ/E系统从20世纪80年代初开始研发,历经近15年的研究与改进,终于在1995年完成。这个过程离不开国家经费以及研究所科研环境的保障和支持。

“唐先生是个‘另类’。别人都希望自己的课题经费越多越好,只有他,给多了还不要,觉得够用就好。”软件所研究员顾毓清回忆唐稚松时说,他更看重的是一个自由、宽松的学术氛围。

20世纪八九十年代,国内有些科研机构一味追求经济效益而忽视基础研究。但软件所在首任所长许孔时的坚持下,为基础研究提供了一片非常包容的学术天地。各种观点、流派都可以自由生长,各种性格迥异的科研人员都可以在这里心无旁骛工作。

唐稚松对工作极为投入,经常熬夜。他的世界无比单纯。

“有时看文献高兴了,唐老师会突然用湖南话吟起诗来。”同在一个办公室的林惠民来自福建,尽管当时一个字也听不懂,但如今这样的画面却时常浮现在他眼前。


唐稚松的诗集。

哲理之花绽放



国际理论界开始肯定XYZ系统的重要意义是在1988年。

当时,英国理论家巴林格(H. R. Barringer)与加贝(D Gabbay)在一篇总结性报告中指出,“将时序逻辑运用于软件工程方面的重要一步是找到可执行的时序逻辑”,并承认XYZ/E是这方面最早的“先驱”。

更重要的变化则是伯努利对XYZ/E态度的转变。

伯努利和唐稚松虽自20世纪80年代初即在斯坦福大学相识,但他对XYZ/E一直不表态。直到1994年,伯努利第一次访问中国,在参观XYZ系统的演示并仔细询问相关情况数小时后,他对唐稚松说:“过去我对XYZ系统一直很怀疑,认为你野心太大不可能成功,这次参观后我发现你已经成功了。” 

一年后,在伯努利和佐哈尔·曼纳的倡议下,软件所在北京组织召开“逻辑与软件工程”国际研讨会。伯努利还写了一段祝词:“唐稚松教授在时序逻辑概念运用上超乎任何人的想象,在他之前没有人认为这是可能的。”

在诸多外界评价中,曾经的日本软件工程学会主席岸田孝一的说法最有深意。1995年,他在《朝日新闻》撰文介绍XYZ系统时写道:“这也许可以说是东方文明对于新的21世纪计算机技术发展的一大贡献吧。”

中国逻辑学会名誉会长、中国社会科学院哲学所研究员邹崇理介绍:“XYZ系统虽然是一个计算机的软件工具系统,但是为什么要做这样一个软件工具系统、从什么角度创建这个软件工具系统,唐稚松自始至终都有认识论和方法论的指导,而这是他从中国古代哲学思想‘中庸之道’中得到的启发。”

朱熹说:“中者,不偏不倚,无过不及之名。庸,平常也。”如今,在普通人心目中,“中庸”似乎是个略带贬义的词,意味着此人没有立场,没有坚定的取舍,仿佛“中庸之道”只是简单的折中主义。

唐稚松断然否定。“中庸并不是简单的折中主义,而是应该从实际出发注意防止片面,避免偏颇,掌握分寸,做到按事物的常理将对立的方面安排得恰如其分。”

在应对“软件危机”时,若以“中庸之道”视之,欧洲理论派和美国实用派就是走向了两个片面的极端。

唐稚松还强调,“中庸”是一种处理实际问题的有效方法,而不是评价理论。

“尽管古人从未细说,但唐稚松却提出了‘中庸之道’的方法论要点,它的关键前提就是,要对采用这个方法的具体对象进行具体分析。”邹崇理强调。

首先要找到具体学科领域需要解决的问题;其次,根据问题明确评价标准,根据这个标准鉴别出具体学科领域中走向极端的情况;然后要对两个极端进行调整,具体设计出能让彼此取长补短的操作方法,最终获得一个最佳的中间状态。

可以说,可执行的时序逻辑语言XYZ/E,便是在这一方法论的指导下一步步实现的。

不仅如此,唐稚松通过有意识地观察和思考,还从软件发展历史中看到一个规律——合久必分,分久必合。

20世纪70年代前,软件统一于高级语言与编译技术;到了70年代,各种软件技术与理论以分散的状态蓬勃发展;而从80年代末期开始,逐步出现由分裂走向统一与相互结合的端倪。无论从理论上还是技术上说,甚至从理论与技术的关系上说,其总的趋势是走向合,要求最终将各种理论、语言、方法与工具进行合理的结合,组成一种水平更高、应用效率更高,有助于提高软件生产率的统一系统。

“唐先生研制的XYZ系统就是十多年前为迎合这一总趋势而提出的,而事实也印证了他的这一预判。”对此,冯玉琳十分佩服。

在国内科学界,对于哲学“有用性”的怀疑始终存在,但在科学史上,哲学是许多原创性思想的灵感之源。越是基础性的、开拓性的科研工作,离哲学所关心的基本问题就越近。

中国科学院大学人文学院教授郝刘祥曾提出,中国科技发展正处于阶段性跨越的关键节点,需要科学与哲学的“联合”,人们也有机会重新发现中国传统文化或传统形而上学中一些有价值的思想,为未来的科技革命做好充分的“思想准备”,这在中国尤为迫切。

时光退回到半个多世纪前,刚走出清华校园的唐稚松,就曾畅想过一个此生能让自己满意的学术归宿,那就是“志汇中西归大海,学兼文理求天籁”。

唐稚松在清华大学作报告。软件所供图

晚年时,他告诉学生:“我认为我的全部工作与我国传统文化血肉相连。”

他终是找到了自己的归宿。

《中国科学报》 (2024-11-11 第4版 专题)


编辑 | 赵路
排版 | 郭刚

 请按下方二维码3秒识别

中国科学报
关注科教重要事件,网罗学术新鲜趣闻。
 最新文章