工作中常常说编程思想,最常听的就是 OOP 编程思想,但还是很难说服我这就是一种思想。我有个同事花大价钱给他孩子报了少儿编程班,没接触过,听他说就是个搭积木,问他孩子能在其中学到什么,他说编程思想啊。我就很疑惑,何为编程思想,我从事编程工作多年,我都没彻底消化编程思想,或者说他需要个什么形式的一个定义。大人都没搞懂,小孩搭个积木就能明白吗。我理解的编程思想是计算机理论结合人类实际生活,比如设计模式里很多如,代理模式、工厂模式、观察者消费者模式,哪个不是把我们人类的行为给抽象成代码了。如果说这是代码业务层的思想当然要结合实际,那么计算机组成原理中内存页面交换用的时钟算法,也是模拟了实际生活中钟表的走针啊。既然编程思想要结合实际,那么给小孩子上课培养编程思想的意义何在,“下班回来买一个西瓜,如果看到有卖苹果就买两个,结果抱回来两个西瓜”,要的是这种硬生生玩儿梗的思想吗。发帖并不是想吐槽少儿编程的烂象,只是想探讨下,编程中结合实际思想、生活中养编程思想,我觉得这两者很矛盾,以至于让我沉思编程思想到底是什么。欢迎大家讨论
1
kop1989 2020-08-07 10:43:58 +08:00
我所理解的“编程思想”有两个解读。
1 、对现实事务的一种抽象、归纳、梳理、预测。(就比如你说的“少儿编程班”提供的那种拖拉拽编程。其实就是在锻炼儿童的对固定题目下的梳理、归纳能力。) 2 、是软件工程角度的程序设计。也就是你说的面向对象、高内聚低耦合、设计模式等等。 这两种解读都没错,只是语境不同。 |