很多人一听到“编程”,脑海里就会浮现出密密麻麻的代码、复杂的英语单词、黑色终端窗口,以及一种“这玩意儿肯定很难”的感觉。

但事实上,编程远没有大多数人想象得复杂。

如果用一句话总结编程的本质,那么答案其实只有四个字:

数据 + 函数。

你只要真正理解了这两个概念,编程世界的大门其实就已经打开了。

打开网易新闻 查看精彩图片

一、什么是编程?

所谓“编程”,其实就是:

编写程序。

而“编写”本身并不神秘,本质上就是写代码

你甚至可以用记事本、Word 去写代码,只不过为了更方便,我们通常会使用专门的软件,比如:

  • VS Code
  • IntelliJ IDEA
  • PyCharm
  • Xcode

等等。

当你把代码保存成一个带特定后缀的文件时,比如:

  • .py
  • .js
  • .java

那么你就完成了“编写”。

所以,“编程”这个词,真正重要的并不是“写”。

真正重要的是:

程序到底是什么?
二、程序的本质:只有两样东西

无论是:

  • 网站
  • APP
  • 游戏
  • AI
  • 操作系统
  • 脚本
  • 数据库

本质上都只有两个部分:

1. 数据(Data)

2. 函数(Function)

只要理解了这两个东西,你就理解了程序。

三、数据是什么?

很多人觉得“数据”这个词很高级。

其实一点都不高级。

数据本质上是什么?

数据本质上就是存储在硬盘和内存里的电子信号。

也就是:

  • 0
  • 1

不断排列组合。

你现在看到的视频画面、点赞数量、聊天记录、图片、音乐、文字……

本质上全部都是:

0 和 1 的组合。
四、函数是什么?

真正让很多人卡住的,其实是“函数”这个词。

因为很多人从来没接触过。

但实际上,函数也非常简单。

函数的本质

函数就是:

接收输入 → 处理 → 输出结果

它就像一个“被呼唤来干活的人”。

你给它参数。

它帮你处理。

然后返回结果。

这就是函数。

五、从“加法函数”理解编程

我们先来看最简单的例子:

加法函数

它需要:

  • 第一个数字
  • 第二个数字

然后做什么?

把两个数字相加。

最后返回结果。

例如:

输入:

1 和 2

处理:

1 + 2

输出:

3

结束。

这就是函数。

是不是非常简单?

六、真正的编程核心:判断

接下来进入第二层。

现实世界没那么简单。

程序不能只会计算。

它还必须:

会判断。

比如:

如果别人调用加法函数时:

  • 只传了一个数字怎么办?
  • 传的是文字怎么办?
  • 参数为空怎么办?

于是程序就要开始“判断”。

例如:

如果参数不是两个→ 报错如果参数不是数字→ 报错

这就是程序中的:

控制结构(Control Structure)

也就是:

  • if
  • else
  • switch
  • while
  • for

这些东西。

所以编程真正的核心其实是:

运算 + 判断

而后面所有高级内容,本质上都只是这些东西不断组合。

七、函数还能调用函数

接下来进入第三层。

函数不仅自己能干活。

它还能:

调用别的函数。

这就像:

  • 老板调用经理
  • 经理调用员工
  • 员工再调用工具

层层协作。

八、乘法其实是“加法”的循环

比如:

2 × 3

本质是什么?

其实是:

2 + 2 + 2

于是:

我们根本不用重新写乘法逻辑。

只需要:

  • 循环三次
  • 每次调用加法函数

就行了。

过程大概是:

结果 = 0第一次:0 + 2 = 2第二次:2 + 2 = 4第三次:4 + 2 = 6

最终得到:

6

这就是:

函数之间的调用。

九、现实中的点赞按钮,其实也是函数

很多人会说:

“你讲的都是加减乘除,有什么用?”

那我们来看现实。

是不是点一下:

点赞数 +1

本质上,它就是一个函数。

十、点赞函数是如何工作的?

一个简化版的点赞流程,大概如下:

用户点击点赞。

于是:

点赞函数被调用

第二步:传入视频 ID

函数接收一个参数:

视频ID

什么是 ID?

它类似:

  • 身份证号
  • 家庭住址

作用是:

唯一定位数据。

因为数据库里视频很多。

不能一个一个找。

知道 ID 后,就能直接定位。

第三步:读取数据库

函数调用数据库:

查找该视频当前点赞数

例如:

100

第四步:执行加法

100 + 1

变成:

101

第五步:写回数据库

把:

101

重新保存。

第六步:更新界面

界面函数重新渲染。

于是你看到:

101 个赞

完成。

十一、真实程序其实就是“函数套娃”

一个大型软件。

本质上就是:

函数调用函数。

例如:

点赞函数:

  • 调用数据库函数
  • 调用网络通信函数
  • 调用消息通知函数
  • 调用推荐算法函数
  • 调用界面渲染函数

于是:

整个系统就运转起来了。

十二、宇宙其实也像一个程序

讲到这里。

我们可以继续抽象。

你会发现:

宇宙本身,也很像一个程序。
十三、宇宙的“数据”和“函数”

宇宙最底层:

数据

是:

  • 基本粒子

比如:

  • 电子
  • 夸克
  • 光子

函数

则是:

  • 引力
  • 电磁力
  • 强相互作用
  • 弱相互作用

这些“规则”。

十四、世界如何一步步构建出来?

基本粒子通过各种“规则”组合。

形成:

元素

然后形成:

无机物

例如:

  • 氧气

接着形成:

有机物

例如:

  • 蛋白质
  • 脂肪
  • 糖类

然后形成:

细胞

最后形成:

生物

再到:

  • 植物
  • 动物
  • 人类

整个过程,本质上就是:

数据在函数规则下不断组合。
十五、人类意识,也像一个程序

甚至:

我们的大脑,也可以抽象成程序。

数据

是:

  • 记忆
  • 经验
  • 知识

储存在神经元连接中。

函数

则是:

  • 思维逻辑
  • 判断方式
  • 行为模式

运行在神经网络上。

十六、学习,本质上是在升级“函数”

比如:

你原来不会做饭。

后来学会了。

其实发生了什么?

是:

  • 你新增了“做饭相关的数据”
  • 大脑新增了“做饭相关函数”

以后再做饭时。

你不用重新学习。

直接:

调用函数

即可。

十七、人和人的差距,本质是什么?

从“数据和函数”的角度看:

人与人的差距,本质上是:

数据量的差距

以及:

函数质量的差距

数据少

意味着:

  • 认知依据不足
  • 信息维度不足

函数少

意味着:

  • 思维方式少
  • 解决问题能力弱
十八、学习的意义:升级自己的版本

为什么有人越来越优秀?

因为他不断:

  • 增加数据
  • 优化函数

也就是:

  • 学知识
  • 学思维
  • 学方法
  • 学逻辑

不断升级自己的系统版本。

而长期不学习的人。

很多年后你会发现:

他还是“老版本”。
十九、真正重要的,不只是编程

这堂课真正想讲的。

其实并不只是代码。

而是:

抽象思维。

当你学会用:

  • 数据
  • 函数

去理解世界后。

你会重新理解:

  • 编程
  • 学习
  • 商业
  • 人性
  • 社会
  • 自己

因为很多复杂事物。

在抽象之后。

本质都极其简单。

二十、总结:编程的本质到底是什么?

最后总结全文。

1. 程序的本质

程序本质上只有两个东西:

  • 数据
  • 函数

2. 编程是什么

编程就是:

编写函数去处理数据。

3. 函数的核心

函数本质上是:

输入 → 处理 → 输出

4. 编程真正的核心

其实只有:

  • 运算
  • 判断
  • 调用

5. 软件世界如何运行

所有软件,本质上都是:

函数不断互相调用。

6. 世界也能被抽象成程序

从宇宙到生命。

从意识到学习。

都可以抽象为:

数据 + 函数。
结语

真正厉害的人。

并不是记住了多少代码的人。

而是:

能够抽象问题的人。

当你学会用“数据与函数”的视角看待世界时。

你会发现:

编程不再只是技术。

而是一种理解世界的方式。

而学习。

其实就是不断升级自己系统版本的过程。

愿每一个人。

都能持续更新自己的“人生系统”。

不断迭代。

不断成长。