编程是什么?

编程嘛,顾名思义,编写程序.

编写:你可以用记事本,也可以用很多很多的工具

程序:泛指任何网站,软件,脚本,系统之类的东西

但是不管是什么,程序,只有两个部分 :

数据 和 函数

数据:就是保存在内存条或者硬盘上的电子而已,0和1的不断排列

而编程的主要工作就是编写函数去处理数据,它的难度由数据量的大小以及处理逻辑的复杂程序决定

1
2
3
graph TD
A[函数处理逻辑复杂程度] --> B(编程难度)
C[数据量大小] --> B

很多人只是不明白函数是什么.其实函数函数是一个接受输入参数,处理功能,输出结果的过程

1
2
graph TD
A[接受输入参数] -->B(处理功能)--> C(输出结果)

也可以理解为: “听到呼唤==> 处理事情 ==> 回应结果” 这种人人类的逻辑

调用 是指互换函数 也就是调遣过来使用,让函数运行一次的意思

Level up1

比如: 加法函数:

1
2
3
4
5
6
7
参数 (1,2) 

处理: {1+2}

输出: 3


Level up2

上面函数中:处理其实内部有判断

1
2
3
4
5
6
7
8
9
```处理:{

​ 判断:判断是否有两个参数

​ 如果没有就输出错误信息

​ 有则继续执行

}

如果没有两个参数,我们就大喊一声"判断错误!" 输出一个错误信息,这就叫程序报错

这就是编程的核心:函数的计算过程

运算符号: + - x / 等

控制结构:判断,循环等

Level up3

函数之中也可以继续调用别的函数,套娃

举个栗子:

1
2
3
4
乘法
参数: (2,3)
处理: {2x3}
输出: ?

乘法的本质是相同的数字相加

1
2
3
4
5
6
7
处理: {
创建一个数据: "结果" ,值为0
循环"参数2"次:
结果=加法函数(结果,参数1)
循环结束: 结果
返回结果
}

点赞等功能就是加法

Level up4

1
2
3
4
点赞
参数: {id:相当于某个东西的身份证号}
处理:{查到该文章的点赞数,给它加1}
输出:返回新的数量渲染到界面

当然啦这个是简化版的,真实的开发会增加各种细节,比如说取消点赞啦,还有由于安全性操作数据库的这部分函数会放在远程的服务器上,函数和函数之间的调用就会再加上一层网络通信函数,还有各种各样的函数,比如说给我发一条信息提醒,有人给我点赞了让我开心一下或者是用数据和函数判断你对我文章的兴趣下次我更新再次推送给你

这就是编程的本质

剩下的就是要熟悉熟悉语言,工具,框架等

Level up5

真实程序

1
2
3
graph TD
A[基本粒子] --> B(宇宙)
C[基本力] --> B

宇宙是由基本粒子和基本力构成,基本粒子相当于数据,基本力相当于函数

基本粒子通过不同的力互相结合形成了元素周期表,进而形成了我们现在的世界

所以我们完全可以把宇宙当做一个超大的程序

抽象为数据和函数的集合

元素周期表中的元素数据通过很多力函数结合成了无机物(氧气,水等等)

无机物又通过一系列复杂的函数结合成了有机物比如蛋白质,糖,脂肪等

而这些有机物又通过一些列复杂的函数结合成了细胞和生物,从单细胞到多细胞…

为什么人类叫碳基生物呢?

因为构成我们人类的基本物质大概有60多个,它们结合的有机物大多以碳元素为基础

数据极其大,函数极其复杂

进一步延伸: 我们的意识也可以是看做一个复杂的程序

我们的数据也就是记忆,存储在神经元突触上,我们的函数也就是思维运行在神经元上

我们大脑中几百亿个神经元的复杂结合就会形成我们所谓意识的这样一个程序

1
2
3
graph TD
A[知识] --> B(神经突触)
C[理解] --> D(神经元)

比如说我们生来是不会做饭的,但是通过学习函数可以把做饭的流程,知识点等东西保存在神经突触中

对于做饭的理解生成为新的神经元链接,下次做饭的时候不用重新学习,直接调用它就可以了

历史上有很多脑科学实验,这里不展开

我们的身体实在太复杂了,里面的记忆和神经函数各种各样,每个人都不同.

人类的函数和记忆来自于遗传,从小到大的成长经历,学习环境,学到的知识和思维逻辑等等

方式方法都不一样,那么形成的人也就不一样

从这个角度来说:

如果一个人想要在生活中获得更多正确的判断和决策,那么就要尽可能提升自己的数据和函数

数据小,那么函数处理的依据就少,函数少,那么处理的方式就少

1
2
3
graph TD
A[数据量小] --> B(处理依据少)
C[函数少] --> D(思维方式少)

而学习,一方面能够增加我们的知识,提升数据量

另外一方面,能够增加我们的思维方式,增加并优化函数

1
2
3
graph TD
学习 -->|提升数据量| 提升数据量
学习 -->|优化函数| 优化函数

一个不断学习的人,能够将自己的版本持续升级

成为一个在别人看来优秀的人

一个不学习的人,你会发现在很多年后

ta还是一个老版本的样子

学习的方式多种多样,看书,看视频,通过实践获取经验,多沟通交流的,这些都是.

希望你也是一个能够不断升级自己版本,不断升级自己的优秀人类

这其实是一种抽象思维,学会用数据和函数的思维模型去看待事物,这样才能在根本上去理解编程,理解学习,理解世界,理解我们自己.

最后祝愿大家都能持续升级,拥有一个更好的人生.