news 2026/3/31 15:58:38

00编程学的是什么?

作者头像

张小明

前端开发工程师

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

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

1、你会修电脑吗?

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

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

回答,

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

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

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

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

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

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

那么,编程学的是什么?

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

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

第一,分解问题。

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

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

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

第二,归纳总结。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Agent学习:模型调用(自用)

注意事项:由于使用的是openai的方式进行模型调用,那么从API集成平台上购买的api key需要将其key和url名称命名为:OPENAI_API_KEY和OPENAI_API_BASE,然后将这个放在.env文件中,并且使用以下方式进行读取和调用模型&…

作者头像 李华
网站建设 2026/3/27 18:03:23

ComfyUI使用指南:从入门到高效工作流搭建

ComfyUI使用指南:从入门到高效工作流搭建 在AI图像生成领域,Stable Diffusion WebUI(A1111)曾长期占据主导地位。但随着对精度、可复现性和自动化需求的提升,一种更接近“编程思维”的工具正在悄然崛起——ComfyUI。 …

作者头像 李华
网站建设 2026/3/27 17:24:50

14、让用户满意的网络配置与实现

让用户满意的网络配置与实现 在网络配置和管理中,为了提高用户体验和系统的可靠性,我们需要进行一系列的操作和设置。下面将详细介绍相关的配置步骤和注意事项。 1. 用户配置文件更改 为了优化用户配置文件的管理,我们需要对每个用户的配置文件进行两项更改: - 移动排…

作者头像 李华
网站建设 2026/3/26 7:37:02

从局域网到随时随地!这款 AI 客户端Cherry Studio+cpolar让远程协作更高效

文章目录前言【视频教程】1. 本地安装2. 配置模型服务2.1 配置在线模型服务2.2 配置本地模型服务2.3 其他功能简单演示2.3.1 创建智能体2.3.2 AI文生图3. 安装内网穿透工具4. 配置公网地址5. 配置固定公网地址总结前言 Cherry Studio 的主要功能是整合各类 AI 服务&#xff0c…

作者头像 李华
网站建设 2026/3/26 9:12:22

29、软件开发与网络技术综合指南

软件开发与网络技术综合指南 1 软件开发与开源许可 1.1 开发免费软件的步骤 若你开发了一个新程序,并希望它能为公众带来最大的价值,最佳方式是将其变为免费软件,让每个人都能依据特定条款进行再分发和修改。以下是具体操作步骤: 1. 添加声明 :在程序中附上以下声明,…

作者头像 李华
网站建设 2026/3/22 8:54:29

JSpecify 1.0:终结 Java NPE 的统一空安全方案

引言 在 Java 与 Spring 应用开发过程中,空指针异常(NullPointerException,NPE)始终是开发者面临的一项持久挑战。此类异常不仅可能导致生产环境中的系统崩溃,还会引发排查困难、维护成本高昂的线上故障。相较之下&am…

作者头像 李华