news 2026/5/26 4:06:19

00编程学的是什么?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
00编程学的是什么?

当你的朋友知道你会编程后,最可能会问到你的三个问题,

1、你会修电脑吗?

2、学编程是不是必须英语好?

3、学编程是不是必须数学好?

回答,

1、你每天用的电脑主要分为两个部分。一种是你看的见摸得着的,叫硬件,例如手机,主机,显示屏,键盘和鼠标。另一种是你电脑中运行的程序,叫软件,例如微信,Office,360和IE。

编程就是利用一种计算机语言开发出一种软件,帮助你解决问题。因此你的硬件坏了他不一定会修,不是他开发的软件出问题,他也无能为力。当然,大部分懂编程的人,利用google也能解决大部分电脑问题。

2、世界上有多种不同的编程语言,就像世界上有多种不同的人类语言,类似于英语、日语、韩语,这些人类语言的作用是进行人与人之间的交流,编程语言的作用就是进行人与计算机之间的交流。

学习一门编程言语就像是学习一门外语,你需要学习它的语法规则,记住他的单词(计算机术语叫关键字或者标识符)。编程语言需要记住的单词比人类语言的少很多,例如我使用时间最长的Java语言,总共只有50多个单词,而真正常用的只有十几个。

只是碰巧主要发明计算机和编程语言的大都不是中国人而是美国人,英文就成为他们最好的选择。与学习人类语言需要背几千个单词相比,学习编程语言需要背的单词可以忽略不计。但是英文好确实可以帮助你学习的更好,这个问题不光是学习编程,因为科技方面最新的资料大都是英文的。

3、这个问题就有点像是在问去超市做收银员是不是必须数学好。做超市的收银员你必须懂如何结账,但是不需要你自己拿着纸笔去计算。

那么,编程学的是什么?

编程学的,是一种解决问题的思考方式。

其中,最核心是两种思维方式。

第一,分解问题。

在你遇到一个解决不了的大问题时,可以将它分解成若干个小问题,如果这些小问题依旧无法解决,还可以继续分解成若干个更小的问题,直到不需要分解你就可以解决它。

这就好比一个人问你,如何将一头大象放进冰箱?

你可以把这个大问题分解成三个小问题,第一步,如何打开冰箱门?第二步,如何把大象装进去?第三步,如何关上冰箱门?第一步的小问题你还可以进一步考虑,是否冰箱门上有锁,如何打开锁?第二步的问题也可以进一步考虑,是用人抬进去还是用车拉进去?

第二,归纳总结。

在你解决问题的过程中,你会发现有很多问题的解决方式是一样的,这时你可以将它变成一个通用的方法,再遇到类似的问题,你就能拿来直接使用。

当你解决如何将大象放进冰箱之后,有人再问你如何将小狗放进笼子里,你同样可以利用放大象的三个步骤来完成,只是大象换成了小狗,冰箱换成了笼子。

除了解决问题的方式可以重复使用,问题中描述的对象也可以归纳成一个抽象的对象来重复使用。不同的问题对象,只是其中的某些属性和状态发生了改变。

例如,前面的两个问题可以归纳为,如何将一个动物装进一个物体中?当你再遇到一个新问题,如何将一个蛋糕装进一个盒子里?又可以将刚刚的问题归纳为,如何将一个物体装进另一个物体中?如果需要装的物体不再是一个,那又可以变成,如何将多个物体装进另一个物体中?

不管被装的是大象、小狗还是蛋糕,不管装他们的是冰箱、笼子还是盒子,不同的只是它们的大小、重量或者数量这些具体的属性和参数。

在编程中对上面说的归纳总结有一个专有名词,叫抽象,就是指从具体问题中,提取出具有共性的模式,再使用通用的解决方法加以处理。

听到这里,如果你是一个熟悉数学的人,一定会觉得学编程和学数学很相似,分解问题就像是解题步骤,归纳总结就像是抽象的数学公式。实际上,这两者学习的都是逻辑推理中的归纳演绎

除了相似,学编程和学数学有什么不同?

当你在学习数学的过程中,除了学习逻辑推理能力,还有另外一种能力占据了你学习的绝大部分时间,那就是学习计算能力

从小学的个位数加减法、九九乘法口诀表,到大学的矩阵运算、微积分,你需要花大量的时间来练习如何计算,随着计算难度的增加,计算的精准度必然会降低,时间会变长。

这就像是,你为了毕业之后能比别人走的更远跑的更快,每天不断练习跑步,短跑长跑接力跑,获得各种比赛的奖牌。到了毕业那天,当你走出校园突然发现,原来外面没有人在跑步,所有人都是在开车。

那应该如何去解决计算问题?

答案是使用计算机,因为计算机最初就是一种为了弥补人计算能力差而发明的工具,作用类似于中国古代的算盘,不过速度更快,精确度更高。你学会使用计算机,也就是学会使用工具,通过工具再来帮助自己解决遇到的问题。

可当你遇到的问题没有现成的工具时,你应该怎么办?

答案是,通过编程来自己创造工具,这也是学习编程和学习数学另一个最大的区别。编程不仅仅是一种学习逻辑思维的方式,还是一种创造工具,表达自我的方式。

另外,还有一种非常好的能够帮助你梳理问题的工具,思维导图。通过思维导图梳理出的逻辑步骤,就相当于编程过程中所写的伪代码。

学编程的过程中,除了可以学习上面说的两种思维方式之外,还会学到另外一种重要的能力,错误调试(Debug)

在你真正去解决一个问题时,无论你自认为自己的解决方案有多完美,99%的可能性都会出现预料之外的情况。可以说,编程的过程基本就是错误调试的过程,你通过不断运行程序得到反馈,再一点一点修正它,直到最终的结果完全符合自己的预期。

错误调试就像是费曼学习法,既简单又高效,通过不管输出,来发现自己的认知不足,从而不断的改进自己。这也像是生物进化的过程,遗传和试错。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 15:47:02

少儿编程Scratch3.0教程——02动作积木(基础知识)

在 少儿编程Scratch3.0教程——01初识Scratch 中我已经将Scratch软件的各个组成部分都简单的介绍了一下,接下来就会分不同的文章来详细介绍九种不同类型的积木,每种积木类型我都会分成两遍文章,第一篇是基础知识,是来说明每个积木…

作者头像 李华
网站建设 2026/5/26 4:53:22

Qwen-Image:基于Qwen-VL的20B多模态模型

Qwen-Image:基于Qwen-VL的20B多模态模型 在广告设计、品牌视觉和跨语言传播等专业创作场景中,一个长期存在的痛点是——AI生成的图像“看起来还行”,但细看却“用不了”。文字错乱、字体不匹配、排版失衡、修改困难……这些问题让设计师不得…

作者头像 李华
网站建设 2026/5/26 7:54:25

LobeChat内置调试工具使用说明:快速定位接口异常

LobeChat 内置调试工具使用说明:快速定位接口异常 在构建 AI 聊天应用时,你是否遇到过这样的场景?明明配置了正确的 API Key,消息却发不出去;或者模型响应突然中断,只返回几个字就卡住;又或是插…

作者头像 李华
网站建设 2026/5/26 3:42:15

26、构建可靠 Samba 网络:性能、可靠性与可用性指南

构建可靠 Samba 网络:性能、可靠性与可用性指南 1. 引言 在当今繁杂的网络世界中,提升 Samba 网络可靠性和可用性的简单方法,常被宏大的 Samba 集群设计讨论所掩盖。但这并非意味着集群设计不重要,只是每个集群方法都有其独特工具和方式,本文不过多探讨。 从互联网资源可…

作者头像 李华
网站建设 2026/5/26 5:43:46

2025.12.16 Cisco 的HSRP,TCP与UDP协议

目录 VRRP介绍 实验、Cisco配置VRRP TCP协议 VRRP介绍 Cisco中名叫HSRP eNSP中名叫VRRP 作用:使网络24小时不间断运作 实现方式:将两台路由器作为一台路由器使用,其中一台作为运行路由器,另一台作为备份(监听&a…

作者头像 李华