8.3现有计算机应用的一些分析2
分离的计算
学生在小学、中学学习数学时,数学完整的活动都是由纸笔媒介系统支持。数学知识印刷在课本上。解题时,问题陈述在纸上,算式可以列示在纸上,解题计算的过程也在纸上操作进行。在解题者的理解中,知识与算法,内容与过程也都是统一的,不存在需要额外的知识从这一部分过渡到另一部分。在工程技术实践中,所遇到的问题要复杂得多, 如在没有GPS的年代,航海需要计算来确定船的位置与航向;现代战争中,需要对火炮的弹道进行计算。各类计算问题,如果算法已建立,计算操作过程就是机械性的。对人而言,大量机械操作的工作枯燥、繁重、易错,制造工具来替代人在纸面的计算操作是一个自然而且可行的想法。
在古代中国,早期的数学主要是指应用算筹、算盘等进行各类问题计算的知识,而不是某些概念、命题的体系(这需要逻辑学的系统发展作为前提)。大约四十多年前,算盘在中国还在大规模地使用,主要是银行与企业财务人员使用。在使用算盘时,需要计算的数字记载于账本上,人们读取这些数字,操作算盘进行计算,计算出结果再写回到账本上。传统计算工具的使用并不构成一个完整的循环,而只是完成计算过程的操作工作。我们对算盘的操作也不是直接应用算术知识:计算表、运算律、进位规则等,它们需要转化为算盘的操作口诀来使用。传统计算工具的使用分割了完整的数学应用,计算的操作被分配到另外的工具与进程上进行,其他的部分仍保留在纸上进行,只在人脑的理解中,它们才是相关与连续的。计算工具与数学的平行发展,使得我们思想上具有将计算分离为一个独立主题来考虑的惯性,这不一定是个好主意。
现代计算机是历史上一系列计算工具的最新产品,它看上去远非昔日传统计算工具可比,然而,计算工具所带来的分离仍然存在。现代计算机使用机制是:编写程序表示各类问题的算法,程序可以被机器执行。编写程序需要程序员掌握某一门或几门程序设计语言,这在一定程度上可类比于学习外语。编写程序就是用程序设计语言表达出问题处理所需的步骤及各步骤上的细节。程序的处理步骤与处理细节会应用到相关的背景知识,问题所涉及计算类型关联的逻辑或数学各分支的知识,以及问题域的相关知识与事实。这些知识在课本或其它书籍中已陈述。编写代码时,并没有路径直接引用或关联这些相关的知识,它们需要另外表达出,体现于程序设计语言所带的资源库,或具体的程序,或另外建设的数据,或者运行时的输入,总之,需要另外专门的工作再表示出。
在本书第六章的分析中,我们将计算视为书写符号完整使用的一部分,没有问题及其求解会是完全孤立的事件。在现代计算机的应用中知识与计算的分离,首先是因为程序对这些知识的表达与知识在我们课本上的表达所应用的语法有所不同,其次,另一个原因是相关的知识并没有事前在计算机上建立。
计算机对书写符号一般使用的支持
一直以来,计算工具与纸、笔、墨水构成的符号媒介系统工具是分开的二类工具,这种物理上的分离是应用上分离的原因。到了现代计算机时代,事情有所变化。对照“6.2书写符号操作的分析”一节,分开来看,书写符号使用的每一方面当前都可以找到对应的计算机应用。比如构造,基础符号的构造目前不是向一般用户提供的功能,而是以预置库提供,如果需要作为公共功能提供出来,技术上也不会有什么问题。符号组合与符号复合的构造,需要机器提供的是符号输入与编辑的功能,这已是常见的功能。重用,包括基础符号与各种组合符号单位的重用,机器需要提供的基础功能仍是符号输入与编辑的功能。计算,这个不用多说,现代计算机本身就起源于机器计算的实现。事实上在今天,如果要写作,我们更多是在PC机上打开Word一类的字处理程序来进行;如果想阅读,很多时候也是使用电子阅读器阅读电子书,或用其他类的数字设备搜索打开书籍文章来阅读。从实际的状况来说,可以看到的趋势是现代计算机正在替代纸、笔、墨水等工具系统,成为书写符号一般使用的支撑工具。
表面上看,今天的计算机同时作为计算工具与书写符号一般使用的支撑工具,目前这只是从硬件来说的,应用上这二个方向仍然是没有直接的联系。书写符号一般使用的支持是word一类的应用,对计算的支持则是另一些应用。我们的知识也没有以一个完整的形式存在于机器上,在计算类的应用中,计算是作为一个独立主题来进行考虑的。这里要强调的是我们已经可以看到这一前景,所有这些功能与应用集成起来,支撑我们对书写符号的统一使用。
计算机器所具备的能力,比如二进制对任何信息的编码能力,稍作延伸就可发展出书写符号一般使用的支撑功能。相较于纸面的写作,Word上的编辑具备很多便利,如容易的格式支持、更多的字体选择、更工整的显示、图文表的混编、查找定位……最实用的是已写就的内容,其任意部分可以轻易删除或替换,这样可以更好地配合写作过程中思维的演变。虽然具备了很多优点,从设计上来说,Word一类的字处理工具只是模仿纸笔系统上的自然语言与其他书写符号的编辑操作。同样,当前电子书的本质也是在模仿纸质书。当前所实现的只是一种编辑、显示、存储的功能,所看到的变化只是技术自然带来的效果。书写符号的使用本身并没有什么实质的改变,因为我们也没有去这样设想。