1.3 计算机方法论概述
计算机方法论(Methodology of Computer Science,MCS)是一个具体的科学技术方法论,它将一般科学技术方法论中最基本的C(Cognition,认知)和P(Practice,实践)两个元组改为更具体的A(Abstraction,抽象)、T(Theory,理论)、D(Design,设计),因此,它是一个五元组,即:
MCS=<Q,A,T,D,F>
其中:
(1)Q是一个包含子集A、T、D的集合。
(2)A是计算学科中所有属于“抽象”概念的集合。
(3)T是计算学科中所有属于“理论”概念的集合。
(4)D是计算学科中所有属于“设计”概念的集合。
(5)F表示由Q到它自身的一个关系。
认知与实践以及其相互关系是一般技术方法论研究的核心内容。计算机方法论研究的核心内容,其实也就是一般技术方法论研究的核心内容,只不过具体化为计算学科的抽象(感性认识)、理论(理性认识)和设计(实践)3个过程及其内在联系所要研究的内容。
由于“科学研究从问题开始”与“认识以实践为基础”是从不同角度得出的不同命题,而其本质是一致的。因此,我们可以将科学问题从抽象、理论和设计3个过程中提取出来,构成与3个过程具有相同地位的重要内容。
计算机方法论遵循一般科学技术方法论的普遍原理,但是,它又不同于一般科学技术方法论。
一般科学技术方法论在学科认识中具有一般性的指导意义;而计算机方法论直接面对和服务于计算学科的认识过程,它是我们认知计算学科的工具。就某种意义而言,计算机方法论的建立正是计算学科成熟的标志之一。
计算机方法论的研究不仅具有理论意义,也具有现实意义,它能促进计算学科的发展,有助于计算学科的建设与人才培养。下面,从五个方面来概括它的意义。
(1)有助于我们正确理解计算学科中所蕴含的科学思维方法。
抽象、理论和设计是计算机方法论中最基本的3个概念。3个学科形态的划分,反映了人们的认识从感性认识(抽象)到理性认识(理论),再回到实践(设计)中来的科学思维方法,并有助于我们从方法论的高度来认知计算学科。
(2)有助于总结和提升计算学科所积累的各种方法与经验。
计算学科自20世纪40年代诞生以来,科学家们在不到百年的时间里取得了大量的里程碑式的科学成果,使该学科得到了迅猛的发展。这些成果所包含的研究方法更是一份宝贵的财富。
然而就大多数研究者而言,研究成果是他们自觉追求的目标,而方法则是为取得成果而采取的手段。一旦研究工作获得成功,大多数研究者对于自己的科研成果的价值甚为清楚,而对获得成果所使用的方法却重视不够,一般很少有人自觉地将自己的研究方法加以系统的总结和提升,使它们成为具有普遍意义的思想工具。
计算机方法论的任务就是要系统地总结和提升这些方法,使它们成为具有普遍意义的思想工具,从而被计算领域的工作者所掌握,以便使我们更好地从事该领域的工作。
(3)有助于促进计算学科的发展。
从计算学科的发展来看,计算学科的每一个重要进展几乎都与研究方法的改进密切地联系着,计算学科每个领域的发展总是与那一时期的研究方法的发展水平相适应。
例如,在20世纪50年代,程序设计受当时技术的限制,如果说程序设计采用了一定的方法的话,那就是技巧;60年代末期由于软件危机以及硬件的发展,出现了规范化的程序设计;70年代末期,形成了以结构化方法为主的系统开发方法;80年代人们发现,由于行业间语言的障碍,要弄清用户的需求有困难,于是提出了原型化的思想方法;90年代开始,随着人们认识的进一步深化,提出了目前占主导地位的面向对象的思想方法。
新的思想方法是不会凭空产生的,它是对已有方法进行改进的结果,从以上研究方法的发展来看,它符合实践、认识、再实践、再认识的一般规律。也就是说,它需要我们对现有方法进行深入研究,在肯定它们具有认识功能的同时,又注意到它们的局限性,要根据研究对象的特点与需要,对研究方法进行改进,实现方法上的突破,从而促进学科的发展。
(4)有助于确立正确的思想原则,把握正确的研究方向。
恩格斯在其著作《自然辩证法》中说过:不管自然科学家采取什么样的态度,他们还是得受哲学的支配。问题只在于他们是愿意受某种坏的时髦的哲学来支配他们,还是愿意受一种建立在通晓历史及其成就的基础上的理论思维的支配。一个研究者如果不具备正确的理论思维形式,不以正确的思想方法作指导,在具体的研究实践中可能会常常碰壁,甚至对理应到手的研究成果也可能会视而不见、置若罔闻。
计算机方法论是在一般科学技术方法论的指导下建立的,它吸收了其他学科已有的方法论成果,遵守共同的方法论原则。同时,它又是解决计算学科特殊矛盾所需的、有着计算学科特点的、相对独立的方法论,它直接面对和服务于计算学科的认识过程,使人们对计算学科的认识逻辑化、程序化、理性化和具体化,它有助于我们在计算学科的研究中确立正确的思想原则,把握正确的研究方向。
(5)有助于计算学科的建设和人才培养。
如何进行计算学科的建设,是一个长期以来争论的问题。计算机方法论从计算学科的基本问题,学科的抽象、理论和设计3个过程,学科的核心概念,数学方法,系统科学方法,形式化技术,以及社会和职业的问题等方面出发,深刻地揭示了计算学科的本质,有助于我们对计算学科的认识,从而有助于计算学科的建设。
计算专业的学生如能在大学的学习中系统地接受学科方法论的指导,以了解、懂得研究工作的一般程序、操作技术与正确的思维方法,无疑有助于自己的成长。