何为编程
编程这件事,说到底无非就是通过逻辑去处理现有的数据,然后得到一个结果。整个过程可以抽象成一次 y = f(x) 的运算。所以,一个程序的核心无非两个部分:数据(x)和函数(f)。而一轮函数的输出结果,又会成为下一轮函数的数据输入。直到最后一个函数把结果输出到屏幕,反馈给用户——这才算完。 但仔细想想
编程这件事,说到底无非就是通过逻辑去处理现有的数据,然后得到一个结果。整个过程可以抽象成一次 y = f(x) 的运算。所以,一个程序的核心无非两个部分:数据(x)和函数(f)。而一轮函数的输出结果,又会成为下一轮函数的数据输入。直到最后一个函数把结果输出到屏幕,反馈给用户——这才算完。
但仔细想想,最后一个函数真的是屏幕吗?屏幕本身也只是呈现结果的一个函数,它的“输出”紧接着会进入人眼,然后是神经……再往后,是人根据这些信息做出的判断。整个链条其实就是一套系统流程:对输入进行整理,然后向外界输出,依次经过 x₁、y₁(x₂)、y₂(x₃)……最终驱动整个系统运转。
所以说,编程的核心就是编写处理函数,让这些函数对数据进行加工并输出结果。从处理逻辑的角度看,函数是静态的——它就在那里,不管你给什么数据,它都得能处理。这要求函数必须足够灵活,能适应所有符合格式的输入。而从处理对象的角度看,数据也是静态的——它就在那里,你爱怎么处理就怎么处理,通过函数的作用向外界反馈结果。
面向过程、面向对象
所谓的面向过程方法,就是上面的第一种角度,以一次处理为着眼点:先编写处理逻辑(函数),然后把数据传入函数,得到结果。但这样带来的问题是程序特别松散。想象一下,你手里有一大把函数,还有一大把数据,你必须清楚地知道每个函数在哪里,每个数据在哪里,然后手动把数据的位置交给函数去处理。这就像在一个大仓库里找东西,没有分类,全靠记忆。
而面向对象方法,则是上面的第二种角度,以系统数据的状态为着眼点:把数据和对数据的操作集中放在一起,在数据存放的位置配上一堆相关操作。这样一来,你只需要找到这个集中点,调用对应的函数,就能得到想要的结果。就好比把仓库里的东西按类别放进不同的货架,每个货架旁边还贴好了操作说明,找起来自然方便得多。
简单来说,面向过程是把整个内存当作一个整体,数据和代码杂乱地散落在整个空间里;而面向对象则是把内存切割成区段,把所有相关的东西分类放好,供人使用。所以,如果你脑子里有了“内存意识”,编程语言(至少是C系语言)最重要的一关就算过了。
何为编程语言
站在机器的角度看,一切数据和函数归根结底都是01指令,CPU就像一个超级大的函数。我们所有编程行为的最终结果,不过是一批按照CPU设定的格式排列起来的数据。
再进一步,我们写的源码,本质上只是编译器逻辑的输入输出文件,是一批有格式的数据。当一种数据记录的格式得到普遍应用时,它的文件格式就成了所谓的“程序语言”。一个语言之所以强大,靠的是它的编译器和解释器工具足够强大。
编译器的工作方式,是先把源文件处理成01指令,然后直接交给CPU去执行这个指令文件。而解释器则是在程序运行的过程中,一边读源码一边转成指令,再交给CPU。省去了预先编译的步骤,但代价是运行时的速度会慢一些。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。
CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。
Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。
Blender 是一款免费开源、跨平台的专业 3D 创作软件,集建模、动画、渲染、视频编辑与视觉合成等功能于一体,广泛应用于影视动画、游戏设计和建筑可视化等领域。软件支持 Cycles 物理渲染器与 Eevee 实时渲染引擎,并提供多边形建模、骨骼绑定、物理模拟等专业工具。Blender 兼容 Windows、macOS 和 Linux 系统,安装包轻巧、运行流畅,依托活跃的全球开发者社区持续更新,是从初学者到专业创作者都值得选择的正版 3D 创作工具。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
一款文字处理软件,一种订阅式的跨平台办公软件,基于云平台提供多种服务,通过将 Excel 和 Outlook 等应用与 OneDrive 和 Microsoft Teams 等强大的云服务相结合,Office 365 可让任何人使用任何设备随时随地创建和共享内容。
CodeExpander 是一款快捷短语输入增强工具,通过键入缩写自动展开为自定义文段,提升工作效率。任务管理和过程控制会更完整,持续下载、批量同步或需要稳定传输流程的场景会更适合它。
Mountain Duck 是一款能将多个网盘挂载到本地的工具,像本地磁盘一样使用网盘。清理链路的完整性会更好一些,做应用卸载、残留处理和空间整理时,通常能少走很多手动排查步骤。



























