所谓“编程思维”,到底是什么呢?

简介: 无论是对于成人,还是对于孩子,大家都在说,应该培养和训练“编程思维”。那么,到底什么才是“编程思维”呢?这个问题我思考过很久。若从大约1995年我写下第一行“10 PRINT 1+2”代码算起,至今我的码龄也快三十了,那我就倚老卖老,来谈谈这个其实总也不太谈得清的话题。

cbe94b9f8fe5b664fda71614678ad272.jpg

(题图来自我那备受折磨的键盘)


无论是对于成人,还是对于孩子,大家都在说,应该培养和训练“编程思维”。那么,到底什么才是“编程思维”呢?这个问题我思考过很久。若从大约1995年我写下第一行“10 PRINT 1+2”代码算起,至今我的码龄也快三十了,那我就倚老卖老,来谈谈这个其实总也不太谈得清的话题。

1

首先,说起编程,大家脑子里浮现的,很可能就是满屏幕的令人眼花缭乱的字母数字。这种几近故弄玄虚的天书,让程序员显得十分神秘,木讷的他们,似乎代言着另外一个世界。


是的,关于“编程思维”,最直接的理解,就是与计算机对话的能力。如果各种计算机语言不是用键盘敲出,而是由口中喊出,那程序员就很像掌控魔法的巫师,咒语喃喃念动,便让数字世界的机器臣服,甘受驱使。


若是夺去这种神秘感,那“编程思维”似乎就成了某种简单的翻译技能,把人类现实世界的语言,翻译成机器能够听懂的指令来,仅此而已。

2

另一种理解,也是被广为传颂的,“编程思维”似乎隐含着表示某种逻辑思维能力。但到底是啥逻辑,似乎也说不清。像是某种理科生特有的标签,你一眼就会知道是它,但又总描绘不出来,活脱脱像是吃了文科没学好的哑巴亏。


只不过,懂得机器运作的原理,知道某几种甚至几十种计算机语言的语法,这就算是“很有逻辑”了吗?好像这也算不上什么特征,并不能将编程与其他理工学科或技能相区分呢。而且,听闻“回家路上买三斤苹果,如果有西瓜,则买一个”后,只买了一个苹果回家的脑回路,算不算得上好逻辑呢?

3

或许,从码农的视角来体会和思考,会得到更接近真相的理解吧。


我最早学习编程时的实践,是在一台没有存储功能的学习机上进行的。每次我都得花上两三个小时,把书上的几十行代码,用两个食指,生疏地在键盘上敲打出来,然后运行,看到屏幕上精灵移动时,就会短暂忘记,很快断电后,下次又要一切重来的痛苦。

敲代码是非常费劲的,即使是在我掌握了娴熟的指法后,也依然如此。随着我写的程序变得复杂,逐步开始有子程序、类、模板等概念。我开始悟出一个道理:各种引入的语法,其目的都是在试图减少代码的重复。代码总会滋生bug,重复的代码会滋生成群的bug,导致经常忘记同步修复所有重复之处,让bug分身总是春风吹又生。


能够用最少、最简洁、且无重复的代码,来实现某个功能,听起来,这样的挑战,似乎就是“编程思维”所追求的重要内容。像是一种头脑体操,让思维变得更加灵活,延缓痴呆。

4

其实,关于“编程思维”,应该还有个重要的理解角度。


试想下程序是运行在某个无人值守的飞船上,而飞船正航行在茫茫太空中,即使程序开发者想要干预,也是心有余却不可及。于是,我们需要在飞船起飞前,预见到各种不同的情况,并相应设置程序代码,以便在这些情况发生时,进行恰当的响应和处置。

所以,这是一种对未来场景的预见能力。在大脑中提前抽象出应对规则,并条理化出来。像是终于构建了满满一沙盘的密密麻麻的多米诺骨牌的世界,只等待那一根手指的一推……很酷,也很爽,是吧?


原文链接:https://mp.weixin.qq.com/s/u7ihIMlpphHDeIx7ReDiwg

目录
相关文章
|
16天前
|
开发者
从代码到哲学:编程中的思考与启示
【10月更文挑战第34天】在数字世界的编织中,每一行代码都蕴含着深邃的逻辑与创造的火花。本文通过探索编程的本质、代码与生活的关联、以及技术发展带来的社会影响,揭示编程不仅仅是技术的堆砌,更是人类智慧与哲学思考的体现。我们将一起走进代码的世界,发现那些隐藏在逻辑背后的哲理与人生启示。
|
1月前
|
算法
从代码到哲学:编程中的人生启示
【9月更文挑战第35天】在代码的世界中,我们不仅是在编写程序,更是在书写生活。每一行代码都蕴含着逻辑与美,每一个算法都承载着智慧与挑战。本文将通过编程的视角,探讨人生的意义、选择的重要性以及面对困难的态度,带你领略技术背后的深刻哲理。
|
15天前
从代码到哲学:编程中的思维模型与生活智慧
【10月更文挑战第35天】在编程的世界里,代码是构建数字宇宙的基石。本文将通过浅显的语言和实际代码示例,探讨编程思维如何影响我们的日常生活决策,并揭示技术背后的哲学思考。我们将一起探索代码的逻辑结构如何映射到生活的选择中,以及如何通过编程提升问题解决的能力。
27 2
|
1月前
|
算法 程序员
从代码到哲学:编程中的启示与人生思考
在编写代码的过程中,我们不仅构建程序,也在无形中编织着生活的哲理。每一行代码都像是生命中的一步,它们共同构成了复杂而精彩的生命之旅。本文将从编程的角度出发,探讨技术实践中的深刻启示,以及这些启示如何影响我们对生活、工作和自我成长的理解。
|
2月前
|
存储 容器
从代码中感悟生活:编程与人生哲学的交融
【9月更文挑战第27天】在键盘敲击的节奏中,隐藏着生活的哲理。代码不仅仅是冷冰冰的命令序列,它反映了我们解决问题的方式,甚至揭示了人生的智慧。本文将通过编程的视角,探讨如何将技术经验转化为对生活的深刻理解,用简单的例子说明复杂概念,让你在轻松阅读中获得启发。
|
2月前
|
JavaScript 前端开发 Python
探索编程的本质:从代码到哲学的奇妙旅程
该文档指导如何安装NodeJS及PyExecJS。首先从官网下载并安装NodeJS,验证安装是否成功可通过命令`node --version`检查版本。PyExecJS则通过`pip install PyExecJS`进行安装。安装后,通过Python导入`execjs`模块可查看执行JS的环境,并使用`eval`和`compile`函数执行JavaScript代码或编译JS脚本。具体案例展示了简单的JS执行与环境选择方法。
16 1
|
6月前
探索代码之美:编程思维与技术洞察
【5月更文挑战第31天】在数字世界的构建中,每一行代码都如同细腻的笔触,描绘出复杂系统的灵魂。本文通过作者的技术感悟,探讨了编程不仅仅是一种技能,更是一种艺术和思考方式。我们将深入分析编程思维的本质、它如何影响技术决策,以及如何在不断变化的技术领域中保持持续学习和创新的能力。
|
3月前
|
存储 程序员 容器
从代码到哲学:编程中的启示与人生智慧
【8月更文挑战第31天】在编程的世界里,代码不仅仅是命令和逻辑的集合,它更像是一面镜子,反映出我们对待问题的态度和方法。本文通过探索编程中的一些基本原则和实践,揭示它们如何与我们日常生活中的决策和行为相互映射。从简单的代码片段到复杂的系统设计,每一步都蕴含着深刻的哲理,指引我们在面对生活和工作中的挑战时,如何保持清晰的思路和坚定的意志。文章将带领读者走进编程的内在世界,发现那些隐藏在代码行间的智慧和启示。
|
6月前
|
算法 UED
探索编程思维:不仅是代码,更是解决问题的艺术
【5月更文挑战第24天】 在数字世界的舞台上,编程不单是一系列指令的排列组合,它更是一种独特的思维方式。本文将深入探讨编程思维的本质及其在问题解决过程中的应用。我们将剖析编程思维如何影响逻辑构建、创新思考和系统分析,并通过实例说明如何将编程原则应用于日常生活和非技术领域。
|
6月前
|
人工智能 供应链 算法
探索编程思维的奥秘
【4月更文挑战第27天】 在数字化时代,编程已成为一种全新的语言艺术。本文将深入探讨编程思维的本质及其对现代社会的影响。不同于传统的摘要方式,我们将通过一系列故事和案例来揭示编程不仅仅是代码的堆砌,而是一种逻辑严密、创造性和解决问题的能力。文章将带领读者了解如何通过编程思维来优化生活和工作中的决策过程,并提升个人的逻辑分析能力。

相关实验场景

更多
下一篇
无影云桌面