编程思维”不是编写程序的技巧,而是一种有效解决问题的思维方式。 “编程思维”是“理解问题 - 寻找路径”的思维过程。 它由四个步骤组成:“分解 - 识别模式 - 抽象 - 算法”几个步骤组成:
1、分解:把一个复杂的大问题,拆解成更可执行、更好理解的小步骤。复杂问题很难一下子,但如果把它细分成很多个小问题,逐步解决,就容易多了。比如,破案。找出犯罪分子可不是件容易的事。但通常警察都会通过搞懂一系列相关的小问题破案,包括:发生了什么犯罪,什么时间,什么地点,有什么证据,有没有目击者,近、附近是否有相似案件发生等等。 通过拆解问题,可以深入了解犯罪的过程、细节,获得大量信息。而理解是解决的步。
2、模式识别:找出相似模式,解决细分问题。这点至关重要。识别模式,意味着新问题变成了老问题,我们在经验库里搜索以往的类似问题及解决方法,套用解决。识别的模式越多,解题的速度就越快。举个例子:假如你需要画100只猫,你会怎么办?找100只猫来挨个临摹?还是找出猫的“模式”?如果是后者,你可能想知道猫有长毛,眼睛,尾巴和四条腿。然后,根据这个“模式”,你可以批量“画”猫 - 你不必每次都画一个新的动物,你只需要改变局部的特征:黄白条的猫还是黑猫,长尾巴的猫还是短尾猫。
3、抽象:聚焦重要的信息,忽视无用细节。这是一个过滤的过程,通过认知问题的核心本质,帮助我们形成解决问题的构想。然后,以猫的绘画为例,我们了解猫的特征,并基于这些抽象的特征,我们可以形成关于猫的整体设想并制作模型。
4、算法:设计一步一步的解决路径,解决整个问题。通过这4个步骤,一个棘手的复杂问题先被拆解成一系列好解决的小问题;每一个小问题被单独检视、思考,寻找解决方案; 然后,关注几个重要节点,忽略小细节,形成解决方案; 后,设计步骤,执行 - 解决问题。
所以,所谓“编程思维”并不是编写程序的技巧,更不是长大了要去修电脑,而是一种解决问题的思维方式,以后无论是学习、考学、工作都用的上,不当程序员也用得上。