news 2026/6/23 22:50:04

00编程学的是什么?

作者头像

张小明

前端开发工程师

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

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

1、你会修电脑吗?

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

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

回答,

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

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

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

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

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

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

那么,编程学的是什么?

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

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

第一,分解问题。

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

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

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

第二,归纳总结。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HunyuanVideo-Foley部署:本地与云端GPU实战

HunyuanVideo-Foley部署:本地与云端GPU实战 在智能家居设备日益复杂的今天,确保无线连接的稳定性已成为一大设计挑战。蓝牙技术虽已发展至5.0版本,但实际应用中仍面临功耗、干扰和兼容性等问题。尤其在多设备共存的环境中,如何实现…

作者头像 李华
网站建设 2026/6/23 16:22:51

LangChain工具使用:简化AI函数调用

本章对应源代码:https://github.com/RealKai42/langchainjs-juejin/blob/main/lc-tools.ipynb 上一节中,我们学习了如何直接使用 openAI 的原生 API 去使用 function calling (tools)功能,需要自己维护历史、写参数类…

作者头像 李华
网站建设 2026/6/23 2:40:29

Docker 镜像打包为 tar 并在其他环境加载运行(离线部署实战指南)

Docker 镜像打包为 tar 并在其他环境加载运行(离线部署实战指南)适用场景:内网部署 / 无法访问 Docker Hub / 生产环境离线交付 阅读目标:掌握 Docker 镜像打包、传输、加载、运行的完整闭环一、为什么需要把 Docker 镜像打包成 t…

作者头像 李华
网站建设 2026/6/23 16:24:56

Docker 镜像体积优化实战:从 1GB 到 100MB

Docker 镜像体积优化实战:从 1GB 到 100MB适用人群:已经使用 Docker,有镜像体积焦虑的开发者 / 运维工程师 阅读目标:掌握 一套可复用的镜像瘦身方法论,而不是零散技巧一、为什么 Docker 镜像会变得这么大?…

作者头像 李华
网站建设 2026/6/23 14:43:37

LobeChat能否分配任务?团队协作智能调度

LobeChat能否分配任务?团队协作智能调度 在现代企业中,一个常见的场景是:产品经理在群里说“帮我把昨天会议里的三个需求整理成文档”,接着有人手动打开 Notion,翻找聊天记录,复制粘贴、重新组织语言——整…

作者头像 李华
网站建设 2026/6/23 12:06:11

LobeChat能否拒绝不当请求?安全护栏实践

LobeChat能否拒绝不当请求?安全护栏实践 在AI助手日益普及的今天,一个看似简单的问题正变得至关重要:当用户提出“如何破解公司系统”或“生成一段仇恨言论”时,聊天机器人该不该响应?又能不能主动拒绝? 这…

作者头像 李华