2.1.3 计算思维的主要思想及特点

如同计算思维定义中所描述的那样,计算思维包含了多种思想,但是有些思想在计算思维中占据着比较基础和重要的地位。下面对计算思维中几种主要的思想进行介绍。

1.符号化思想

目前的计算机中普遍采用二进制数0和1这两个符号表示计算机用到的一切信息。0和1是计算机实现的基础,现实世界的任何数值性和非数值性的信息都可以被转换成二进制数0和1进行表示、处理和变换。相反的,计算机中0和1表示的信息也能被转换为人类能够认知的文字、图片、视频等信息。计算机之所以能够解决复杂的问题,从最根本上讲就是因为二进制数0和1能够将各种运算转换成逻辑运算来实现,计算机处理器的基础也正是各种对用0和1表示的逻辑进行运算逻辑门电路,在逻辑门电路的基础之上才能构造更加复杂的电路,计算机才能处理各种问题。虽然未来的计算机系统不一定采用二进制,但这种用二进制数0和1对信息进行表示、处理和转换的思想正是符号化处理问题的体现,即问题的表示方式是无穷无尽的,用统一的符号化语言进行表示是解决问题的基础。

2.程序化思想

不管一个问题多么复杂,只要它是可计算的,那么只要将问题的解决过程设计成一系列基础的步骤,之后只需按顺序一步步执行这些基础步骤,就能使问题在整体上得到解决,这种解决问题的思想体现在计算机系统中就是程序化思想。其中基础步骤是简单而容易实现的,复杂、多变的问题也都可通过对一套固定的基础步骤进行不同方式的组合得到解决。因此对于计算机系统来说,只要能够完成每个基础步骤,以及实现一个控制基础步骤组合和执行次序的功能,就能解决非常复杂的问题。可以将每一个基础步骤理解为一条计算机指令,将计算机程序理解为按照规定的次序组合完成的指令集合,计算机只要按照程序执行不同的指令,就能完成程序预期的功能。关于计算机指令和程序的概念,会在之后的章节进行更加详细的介绍。

3.递归思想

递归思想指应用一种计算模式进行计算的过程中调用这种计算模式本身,它通过把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。例如,大部分国家的政治机构的结构应用了递归的思想:少数的最高领导人直接治理一个国家是非常困难的,因此中央政府机构设立了下属的省或州,省或州之下又设立了市、县。每个层次以相同的管理方式只管理直接下属层次,而不必考虑其他层次,直到最低层次的政府机构可以直接管理相对小规模的人民。通过这种分层次的递归思想实现了对整个国家的管理。递归思想最为重要的能力在于能够用有限的步骤来定义无限的功能。计算机科学中的许多重要思想,如分治思想、回溯思想、迭代思想、动态规划思想都与递归思想紧密相关。

4.抽象和分解思想

计算机系统通过抽象和分解思想来解决庞杂的任务或者设计巨大复杂的系统,它是选择合适的方式去陈述一个问题,或者是选择合适的方式对一个问题的相关方面建模使其易于处理;它是利用不变量简明扼要且表述性地对要处理的问题进行刻画。通过抽象和分解思想我们可以将一个大型问题拆分成若干子问题,也可以从整体上对众多烦琐的子问题进行抽象和概括以便于理解,使我们能在不必理解每一个细节的情况下就能够安全地使用、调整和影响一个大型复杂系统的信息。抽象和分解思想在计算机数据处理和软件等许多领域都有重要应用。

根据周以真教授的描述,计算思维具有以下5种特性。

1.概念化,不是编程

计算机思维使我们能像计算机科学家那样去思考,但计算机科学不是计算机编程,像计算机科学家那样去思维意味着远不止能为计算机编程,还要求我们能够在抽象的多个层次上进行思维。

2.根本的,不是刻板的技能

根本的技能指的是每一个人为了在现代社会中发挥职能所必须掌握的技能,而刻板技能意味着机械地重复。计算思维应当成为人们应该掌握的一种思维方式,它的存在能为我们解决问题带来指导意义。但掌握计算思维并不意味着按照既定的模式机械地解决问题,而是应当掌握利用这种思维思考、分析以及解决问题的方法。

3.是人的,不是计算机的思维方式

计算思维是人类求解问题的一条途径,但绝非要使人类像计算机那样地思考。计算机枯燥且沉闷,人类聪颖且富有想象力,是人类赋予计算机激情。配置了计算设备,我们就能用自己的智慧去解决那些在计算机时代之前不敢尝试的问题,达到“只有想不到,没有做不到”的境界。

4.是数学和工程思维的互补与融合

计算机科学在本质上源自数学思维,因为像所有的科学一样,其形式化基础建立于数学之上;计算机科学也从本质上源自工程思维,因为我们建造的是能够与实际世界互动的系统,基本计算设备的限制迫使计算机学家必须计算性地思考,不能只是数学性地思考。计算思维赋予我们的构建虚拟世界的自由使我们能够设计超越物理世界的各种系统。

5.是思想,不是人造物

不只是我们生产的软件、硬件等人造物将以物理形式到处呈现并时时刻刻触及我们的生活,更重要的是接近和求解问题、管理日常生活、与他人交流和互动的计算概念也会极大影响世界上的每个人、每个角落。当计算思维真正融入人类活动的整体以至于不再表现为一种显式的哲学的时候,它就将成为一种现实。