编程学习_Concepts, Techniques, and Models of Computer Programming书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Concepts, Techniques, and Models of Computer Programming > 编程学习
Hakura Matata Concepts, Techniques, and Models of Computer Programming 的书评 发表时间:2017-04-21 09:04:04

编程学习

托马斯·库恩在「科学革命的结构」中提出过这么一个当时让我很惊讶的观点:常规科学不过是致力于求解当前的某一知识领域中留下来的谜题,并非以创新为目标;它的目的不在事实或理论的新颖性。既然如此,一个不以创新为日常工作目标的领域是怎么做到持续的突破更新迭代的呢?答案也正在于这种工作方式本身:公认的理论、稳定的工具可以让科学家明确地知道哪个方向是正确的,即使他没有实际着手去做。正是明确的方向性,让科学家们可以专心地研究更专门、细分的问题,最后达到理论的某种边界,继而危机发生,新理论、新工具就这危机当中开始萌芽。

编程也如此。我们有一套稳定的范式,通用的概念、抽象。在日常工作中,我们不会发明新的概念、抽象,更不会发明新的范式(想想 OOP 的出现已经是上世纪60年代的事情了,现在还在用呢)。除了难度的原因以之,主要是因为这个领域就跟制造业一样,更换工具是一种浪费,只有在不得已时才会这么做,所以大部分人的大部分时间都不会去考虑这些问题。我们都是优先用既有的工具去解决问题,直到危机出现新工具被发明。这也就是为什么 CTM 认为编程应该作为一系列的概念、抽象来学习,而不是作为一门手艺(Craft),更不是作为数学的一个分支。所以要获得能力的提升,我们要做的就是去熟悉工具背后的这一系列的概念、抽象。

在科学领域,新颖的创见发生在危机当中,危机一般发生在理论的边界。个人能力也如此,能力的提升应该也发生在能力的边界上,这就需要我们走出舒适区挑战一些我们认为不太可能的事情了。唯有游走在自身能力边界,才能看到更大的可能性呀。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读