1.2 编程和逻辑思维的关系
上一节提出:有逻辑思维能力就有编程能力,本节就来具体探究一下两者的内在关系。首先强化一下逻辑思维的概念。
逻辑思维,又称抽象思维,是人运用概念、判断、推理、比较、分析、综合、抽象、概括等思维类型反映事物本质与规律的理性认识过程。逻辑思维并不是与生俱来的,它可以通过后天的学习、积累和总结逐渐形成。因此,每个人使用逻辑思维解决问题的能力也是不一样的,一般而言,文化层次高、年长的人逻辑思维能力要比文化层次低、年幼的人好,这就是俗称的“姜还是老的辣”。
为什么说有逻辑思维能力就有编程能力呢?
这是因为,生活无处不程序!其实大家已经在生活中运用逻辑思维进行“编程”啦,只是我们没有认识到,这种生活程序其实和计算机程序在本质上是相同的!只是执行环境不同而已,一个在生活中,一个在计算机中。
不信?那请问穿衣服时,是先穿长裤,再穿内裤吗?
具有正常逻辑思维的人一定明白是先穿内裤,再穿长裤,这才符合客观规律,这就是正常人每天早上要“执行”的“生活程序”。先穿长裤,再穿内裤的人也有——超人。内裤外穿是超人的标志,一般人不会这样做,这不符合传统的逻辑。
类似的“生活程序”还有很多,比如先穿袜子后穿鞋,先把书本放入书包再背着书包上学,先拧开瓶盖才能喝到水等。
生活中可以制订这样的“穿衣程序”,其他领域中也可以制订形形色色的“行业程序”。例如盖高楼的程序:先打好地基,再自下而上地盖楼房。造航母的程序:先建造主体船身,再装门加窗完善细节,先整体再局部就是建造舰船要执行的程序,科技再发达的国家也得按照这个程序执行,因为这样的程序才符合逻辑和客观事物的发展规律。
从广义上来讲,程序是指为解决问题或达到目标,人工制订的问题解决计划。如果解决计划只是被制订出来而没有被执行,那这个解决计划就是“纸上谈兵”,是没有经过验证的。
狭义上的程序可以特指计算机程序,就是基于计算机平台,人工制订的问题解决计划,这个解决计划能够被计算机识别并运行,从而驱动计算机去解决问题或达到目标。此处的计算机也可以泛指所有具有计算能力的电子设备平台,例如平板计算机、手机、单片机等。
所以何谓编程?编程就是按照逻辑规则去制订解决问题或达到目标的计划方案,不论编写的是广义程序还是狭义程序。
要制订能解决问题或达到目标的程序,就必须先找出内部所“隐藏的”逻辑规则。有时这种逻辑规则很浅显,一眼就能看清楚;有时这种逻辑规则“隐藏得很深”,尤其是面对极其复杂的问题,必须经过周密的判断、推理、思考、分析才能梳理出来,这种分析、思考、寻找逻辑规则的能力也就是前文提到的逻辑思维能力。一般逻辑思维能力强的人更容易挖掘出“隐藏的”逻辑规则,从而更快地编写出程序。
所以,没有逻辑思维就没有解决问题的能力,就无法编写出能够解决问题的程序。编程依靠逻辑思维能力,反过来,编程又会促进逻辑思维能力的提升。
在使用逻辑思维处理问题时,怎样才能保证合理性与正确性呢?
一般要做好以下3点:第一,解决问题的逻辑思路要遵从自然规律,符合事物之间关系;第二,使用逻辑思维分析问题时,要尽量将问题细分成多项小问题,先解决细分问题,小问题解决无误,才能正确地解决整个问题;第三,要善于运用逻辑思维中的概念、判断、推理、比较、分析、综合、抽象、概括等思维模式去化解问题,这种技能是可以通过训练得到提升的。
苹果创始人乔布斯曾说:“人人都应该学习一门计算机语言,因为它将教会你如何思考。”乔布斯的这句话就是想让大家清楚地认识到,编程有利于提升人类的逻辑思维能力,逻辑思维能力的提升预示着会有更强的能力去应对和解决问题。
下面我们再来看一个生活程序,这个程序其实很多同学都编写过!能不能执行就不好说了!
每到寒假暑假,家长们为了不让孩子变成早上不起、晚上不睡、一天到晚玩游戏的“熊孩子”,就会要求孩子写下各种假期学习计划,典型的假期学习计划如下。
寒假学习计划
- 早晨6:30起床,一三五朗读英语,二四六朗读语文(30分钟)。
- 8:00~10:00完成各门功课的寒假作业1~3页。
- 12:00~13:00午休。
- 13:30~15:00打羽毛球、上QQ。
- 15:00~17:00阅读课外书。
- 18:00~22:00晚饭后自由活动,完成白天没有完成的任务。
编写这个计划的过程就是在编写程序,“寒假学习计划”就是生活程序。写作文也是有“程序”的,一般是:审题→列提纲→准备素材→开始写作。如果直接就动笔,最终的收获可能就是写了近千字发现跑题了,还得推翻重写。编写计算机程序也可能会发生这样的问题,后面我们还会讨论,并给出解决办法。
现在,是时候练习编写一个“生活程序”了,学习本书得有一个计划,尝试编写出来吧!