计算机科学与技术中的系统论与辩证法

时间:2022-09-12 08:41:47

计算机科学与技术中的系统论与辩证法

摘要:本文探讨了计算机科学与技术中的系统论及辩证法,包括物质和意识、联系与发展、时间和空间、理论和实践等范畴以及对立统一、质量互变、否定之否定等基本规律。应用上述理论阐述计算机软硬件系统、操作系统、程序设计语言与算法、计算机网络、计算机软硬件发展等方面存在的基本哲学问题,并将其应用于计算机教学,取得了较好的效果。

关键词:计算机;系统论;辩证法;认识论;哲学

世界是普遍联系和永恒发展的,以系统的观点和辩证的观点来认识世界是人们认识自然、社会及人类自身的最宝贵的思想武器。计算机是人类的发明,在计算机科学与技术中一定存在着系统论和辩证法的思想,发明者和使用者都在自觉和不自觉地运用它。

在计算机各专业课程的教学中普遍存在着重部分,轻整体;重微观,轻宏观;重分析,轻综合;重“点”轻“面”的现象。其原因主要在于缺乏宏观意义上的方法论作为指导。

将蕴藏于计算机各专业课程中的系统论和辩证法思想提取出来有利于教学计划制定者科学合理的安排课程;有利于教师从最一般意义上认识和分析问题,有针对性地进行教学;有利于学生掌握各课程之间的联系和各课程的本质,从而更好地理解和学习相关课程。

在国内,已有部分工作采用系统论与辩证法来阐释计算机科学与技术中的某些问题。赵致琢等[1][5]在计算科学导论中阐述了计算科学的意义、内容和方法,具体包括:什么是计算科学,计算科学发展主线和学科的基本问题,并将其应用于计算科学的教学计划和课程体系制定。董荣胜等[2]阐述了计算学科中各主领域发展的基本规律,揭示了各领域之间的内在联系,有助于人们对计算学科的深入理解。周长林等[3]在操作系统课程中从最一般意义上给出了操作系统的基本理论,指出了资源共享和进程并发是操作系统的两个基本特性,操作系统的所有内容都是围绕资源和进程展开的。陈次白等[4]应用对立统一思想分析了计算机科学与技术中存在的时间与空间、静态与动态、绝对与相对等问题。

本文将系统论与辩证法引入到计算机科学与技术中,用辩证观点解释计算机中的相关问题,并应用于课程教学和培养计划制定,取得了较好的效果。

1马克思主义哲学的主要观点

1.1辩证的唯物论

世界是物质的。物质决定意识,意识对物质具有反作用。物质是运动的。运动是绝对的,静止是相对的。时间和空间是物质运动的形式。

1.2唯物的辩证法

(1) 总观点:世界是普遍联系和永恒发展的。

(2) 三大基本规律:对立统一、质量互变和否定之否定。

(3) 若干范畴:整体与部分,具体与抽象,现象与本质等。

1.3认识论

(1) 理论与实践:实践是理论的基础;理论来源于实践,对实践具有指导作用。

(2) 理性认识和感性认识:感性认识是理性认识的基础,理性认识是感性认识的升华。

2计算机科学与技术中的系统论与辩证法

2.1软件系统和硬件系统

计算机由硬件系统和软件系统组成。唯物辩证法认为,物质决定意识,意识对物质具有反作用。硬件相当于物质,软件相当于意识,二者相互影响、相互制约,处于动态平衡状态。好的硬件如果没有好的软件来配合,实际上是对硬件的一种浪费。好的软件如果没有好的硬件作依托,那么软件就无法发挥它的功能。硬件的发展能为软件的升级预留空间,软件的发展也对硬件的发展不断提出新的要求。

计算机硬件系统的雏形是冯诺一曼模型,该模型由主机、输入系统和输出系统组成,其设计体现了系统学的思想。

计算机软件系统的雏形是图灵机。图灵机实际上就是对0,1数据的操作,按中国古代哲学的观点,0和1分别表示阴和阳,二者对立统一,是表示信息的基本“细胞”。计算机所表现出来的各种文本、图像、动画、视频等信息都属于现象,而这些信息在最底层实际上都是0,1组合,是以布尔逻辑作为理论基础的,这才是本质。

2.2操作系统

操作系统是计算机的灵魂,是整个计算机系统的“管家婆”,是软件和硬件之间连接的纽带,负责软硬件资源的协调和使用。资源共享和进程并发是操作系统的两个基本组成部分。资源总是有限的,进程的目标就是要使有限的资源发挥最大的作用。通常情况下,应用软件向计算机系统请求使用资源,操作系统综合考虑效率、公平等情况,然后对各种请求进行协调,对各种资源进行分配。

时间和空间是操作系统必须要考虑的因素。操作系统中有很多时间和空间相互结合的例子。虚拟存储技术(请求分页、请求分段、请求段页式)是以时间换空间的例子;在该技术中,访问时间增加了,但是扩充了主存的逻辑容量,使得大于主存容量的程序也可以得到执行。缓冲区技术、快表、外存分配方式中的索引分配都是以空间换时间的例子;在该技术中,本来需要在速度很慢的设备上进行输入输出的,但是从存储区域划出一部分做缓冲区,就可以减少访问时间。

2.3程序设计语言和算法

程序设计语言是实现算法的工具。程序总是在一定的时间和空间内运行。变量是一个程序的重要元素。以C语言为例,变量分为静态变量和自动变量,分别具有自己的作用域和生存期。

在结构化程序设计中,对复杂问题进行分析的一个主要方法就是自顶向下,逐步细化。函数是结构化程序的基本组成部分。可以把函数看做系统,它由输入、输出和控制体三部分组成。函数输入就是函数参数表的参数,参数表是函数对外联系的通道;函数输出就是是函数的返回值。函数的控制体就是函数体。

在面向对象程序设计中,类和对象是两个最基本的概念,二者是抽象和具体、共性与个性、一般和个别的关系。程序是由对象组成的,对象之间是有联系的(组合、继承等),对象之间相互协作完成某个问题的求解。这体现了世界是物质的以及事物是普遍联系的这一基本哲学思想。

算法是正确求解问题的关键,一个好的算法除了要正确之外,还要求有较小的时间复杂度和空间复杂度。小的时间复杂度可能需要较高的空间复杂度,反之亦然,而这通常不能兼得。总之,在设计算法时要根据实际情况综合考虑时空关系,使设计的算法达到最优。

递归程序设计,是求解很多复杂问题的有效方法。所谓递归,就是根据事物整体与部分具有某种相似性的原理,反复调用自身,从而完成问题的求解。分治、回溯和动态规划都是基于递归这一思想。

需要强调的是,面向对象程序设计不是对结构化程序设计的否定,他们之间具有紧密的联系。面向对象程序设计是结构化程序设计的继承和发展,结构化程序设计是面向对象程序设计的基础。面向对象程序设计最终的落脚点仍是结构化程序设计。

2.4计算机网络

需求是技术发展的原动力。资源共享的需要是计算机网络技术发展的原动力。计算机网络本身就是一个系统,充分体现了世界是普遍联系的这一特征。网络中的各个实体之间存在异构,如何在异构的实体之间保证通讯的正常进行是计算机网络理论的关键问题。为此,在计算机网络中采用了“分层”的思想。在计算机网络的开放系统互联模型中,将信息传输过程分为7个层次,每一层相当于通讯过程的一个阶段,层与层之间通过接口进行联系,下层为上层提供服务。

2.5计算机软硬件产品的发展

在计算机发展的过程中,我们会发现一个现象,即一种产品通常有两个主流商家在做。例如操作系统有微软的Windows和免费开源的Linux;程序设计语言有微软的.Net平台和Sun公司的Java平台;大型数据库有微软的SQL Server和开源的MySql;CPU有Intel和AMD等等。

以上双方既对立、又统一,各有特色、相互促进、取长补短、共同发展。作为用户来讲,不希望某个产品的发展一枝独秀,因为一枝独秀可能意味着垄断、意味着技术的停滞。

事实上,各个产家之间在竞争中发展,没有竞争,就没有发展,竞争会促进技术的发展。各个产家在竞争中处于一种动态的平衡状态,一个平衡打破了,一定会产生一个新的平衡,市场会对其自动进行调解。这种发展的结果一方面给用户带来了利益,另一方面也促进了技术的进步。

总之,计算机软硬件产品的发展是一个否定之否定的过程,各品牌产品不断从竞争对手中吸取营养和经验,对自身进行改进,推动技术的不断进步。

3应用

3.1在计算机课程教学中的应用

我们认为知识的讲授和学习应该是一个从宏观(整体)到微观(部分),再从微观(部分)到宏观(整体)的过程;是一个从感性到理性,再从理性到感性的过程。这两个过程不是一个原地不动的圆,而是一个螺旋递进的圆,是一个否定之否定的过程。

从内容上说,在讲授每门课程之前,先从宏观上阐述本门课程的地位、作用、与其他课程的联系方式以及本门课程存在的系统论与辩证法。这有助于学生从宏观上认识本门课程,使得学生的头脑中始终有一个清晰的线索,避免过早的陷入细节问题。

从方法上来说,按照感性认识和理性认识之间的关系,在教学中使用案例式教学和启发式教学。例如,在程序设计教学的第一堂课,首先给出一些趣味性、经典性的问题(如鸡兔同笼,素数,魔方阵,积分,学生成绩排序等问题),并告诉学生,我们学完这门课就可以解决以上问题,这样就容易激发学生的兴趣,他们会带着问题来学习程序设计,伴随着课程的学习及问题的逐步解决,学生获得成就感,激发他们更积极的进行学习。

3.2在制定教学培养计划中的应用

一切从实际出发是制定培养方案的出发点和落脚点。总的原则是解放思想、实事求是,结合本校的实际情况和专业的特点,创建适合本校的、具有本专业特色的培养方案。

根据应用型本科院校的实际,以培养应用型创新型人才为目标,设置了基础课、专业基础课和专业课三个层次的计算机课程,设置了软件、硬件和网络三个培养方向。在课程设置中坚持计算机基础理论和计算机实际操作紧密结合,使其既不同于以培养计算机理论人才为目标的高校,又不同于以培养职业技术人才为目标的职业学校。

按照理论和实践的关系,科学安排理论课和实验课时间,形成了平时试验、课程设计和毕业设计三位一体的实践过程。比如在程序设计教学的安排上,平时试验主要解决语法问题,课程设计主要解决算法问题,毕业设计主要解决综合应用型问题。

4结语

本文采用马克思主义哲学观点分析和阐述了计算机科学与技术中存在的系统论和辩证法等规律,涵盖了计算机硬件、操作系统、程序设计语言、计算机网络与计算机发展等各方面。将上述规律应用于计算机专业的教学和培养方案的制定,取得了良好的效果。计算机科学与技术将继续迅猛发展,但万变不离其宗,采用系统论与辩证法分析计算机发展中出现的新问题、新技术仍会得到有意义的结论。

参考文献:

[1] 赵致琢. 计算机科学导论[M]. 2版. 北京:科学出版社. 2000.

[2] 董荣胜,古天龙. 计算机科学与技术方法论[M]. 北京:人民邮电出版社. 2002.

[3] 周长林,左万历. 计算机操作系统教程[M]. 北京:高等教育出版社. 1994.

[4] 陈次白,丁晟春. 浅谈计算机科学技术应用中的辩证思维[J]. 南京理工大学学报:社会科学版,2000,13(2):20-23.

[5] 赵致琢. 关于计算机科学与技术认知问题的研究简报(I,II)[J]. 计算机研究与发展,2001,38(1):1-15.

System Theory and Dialectics in Computer Science and Technology

YU He-long1, ZHAO Yu-xin2

(1. College of Information Technology, Jilin Agricultural University, Changchun 130118, China;

2. Department of Environmental Engineering, Jilin Architectural and Civil Engineering Institute, Changchun 130021, China)

Abstract: System theory and dialectics in computer science and technology are discussed, including some concepts such as matter and consciousness, connection and development, time and space, theory and practice,also including some laws such as unity of opposites,variable quality of each other. Then the above theories are used to explain the philosophy problem in computer hardware and software system, operating system, programming language and algorithm, computer network, development of computer hardware and software. Finally, these ideas are applied in computer teaching and good teaching effect is acquired.

Key words: computer; system theory; dialectics; epistemology; philosophy

上一篇:计算机师范专业人才培养模式研究与实践 下一篇:“软件工程”课程教学改革的探讨