一项计算机基础课程改革的启示(六)

时间:2022-10-05 05:29:53

一项计算机基础课程改革的启示(六)

奚:王老师,这一期文章和上一期文章可以称为姊妹篇吧?

王:可以。上一期我们讲到,在用C语言描述数据结构的过程中,程序员不仅最大限度地克服了C语言的局限性,同时也具体表达了对C语言未来发展的需要,这一期我们讲的是这些需要的满足,而且这一期讲不完,下一期还要继续讲。

奚:在您的文章中,C++不是从概念开始的,而是从C程序设计的问题开始的,我认为这是一个显著的特点。

王:辩证法是这样要求我们的,研究任何问题,都不要从概念出发,要从事实出发,要考虑事物的自身发展,要考虑人的实践活动的需要。

奚:要从程序设计的实际需要出发。

王:是的,这就是辩证唯物主义的基本要求。辩证唯物主义从来不脱离实际、脱离人的实践活动去谈论问题,任何理论都应该是人的实践活动的规律性的表述。而实践是主观见之于客观的感性物质活动,因此,对实践活动的规律性表述和人的具体需要应该是统一的。

奚:就我们的具体问题来说,怎么理解这种统一?

王:程序设计的需要和程序语言的必然发展的一致性。

奚:那么如何才能一致呢?

王:通过实践。程序设计发展到一定阶段,产生了程序语言无法满足的需要,这些需要合乎逻辑的表达就是程序语言的必然发展。例如,C可以创建结构,但是随着程序设计的不断发展,人们需要C结构能够像C的内部类型一样使用,C无法满足这个需要,于是C++产生了, C++对C的结构体类型作了实质性的扩充,可以说,C++的许多性能都围绕着一个根本的思想:创建新的数据类型的能力。

奚:这样做是要付出辛苦的。

王:是的。当然,把C++概念从外部注入到程序设计中,要比从程序设计中总结和概括出C++的概念要容易得多。或者说,借助想象或一种“权威意志”引入C++概念要比用每一个人如果愿意都可以验证的经验来引入C++概念要轻松得多。

奚:概括地说,从观念出发要比从事实出发容易得多。

王:是这样。例如,我们可以说,C++是计算机软件领域中覆盖面最为广阔的编程语言,C++编程方法是最为重要的程序设计方法,不会这种方法就意味着被淘汰;还可以说,C++程序设计是一种运用了一些新概念和新方法来构造系统的软件开发方法,或者说,因为世界是由对象构成的,因此C++的程序设计方法用人们看待现实世界的方法来表达计算机程序,等等。类似这样的冠冕堂皇的话很多,从这些观点出发,教师就不必仔细地考察C与C++的内在联系和程序语言发展的必然过程,更不必实际地探索C程序员转移到C++语言性能层上的方法,完全可以毫不顾忌地丢弃C,把C++概念灌输到学生的脑子里。这种做法看起来既简单又很体面。

奚:但这是一种迫使学生被动接受的方法,禁锢了学生思考的空间。

王:根本原因就在于这种方法把人分为两类,一类是高高在上的工具的创造者,另一类是普通的工具使用者。而在辩证唯物者看来,程序设计的工具是程序设计的一部分,如果从程序实践的角度出发,科学地阐述从C到C++的自然发展过程,那么C++就是每一个程序设计者都可以体验的、人的自由自觉的活动的结果,即实践活动的结果。例如,通过C程序设计的实践,以程序的方式表达了改进C的具体要求,这个具体要求通过转换与C++联系起来,这是每一个程序设计者都可以体验的过程。于是C++的生成过程和C++的学习过程统一了。

奚:在这个过程中,人是积极的。

王:如马克思所说,人首先是改造世界的主体,然后才是认识世界的主体。“只有当物按人的方式与人发生关系时,我才能在实践上按人的方式与物发生关系。”[1]

奚:我认为,对马克思的实践的观点,我们普遍认识得不正确。实践是人们改造世界的有意识的活动,可是一般人都是把实践仅仅看作是理论和应用的桥梁。

王:在马克思看来,实践活动是人和自然相互作用,相互生成的过程。例如,通过C程序的实践,C语言提升了人的感受力,这是人在实践活动中的生成;提升了感受力的人,有了更高的需要,提出了改进C的具体要求,这是自然界在人的活动中的生成。恩格斯曾说:“自然科学和哲学一样,直到今天还完全忽视人的活动对人的思维的影响;它们在一方面只知道自然界,在另一方面又只知道思想。但是,人的思维的最本质的和最切近的基础,正是人所引起的自然界的变化,而不仅仅是自然界本身;人在怎样的程度上学会改变自然界,人的智力就在怎样的程度上发展起来。”[2]

奚:我认为,对实践的正确认识,是我们学好和用好唯物辩证法的前提。

王:可以这样说,因为辩证法是人的实践活动的展开方式。现在的情况是,一方面,大量的具体科学特别是自然科学的最新成果得不到马克思主义哲学的科学概括而听任唯心主义和形而上学泛滥;另一方面,又由于马克思主义哲学不能及时吸取具体科学的思想营养而难免变成枯槁的教条。[3]因此,如何做到既具体落实马克思主义哲学对科学发展的指导作用,又同时丰富马克思主义哲学本身,是时代的要求。

奚:但愿我们这些人能在计算机学科方面去引入这样的思想和做法。

王:是啊,这是对马克思主义哲学的推动,也是对计算机学科的推动。

奚:希望我们的《计算机教育》能够为此作出一点贡献。

上一篇:ASP动态网页设计之我见 下一篇:用联想思维架设人脑与电脑之桥