- 在知乎看到一篇文章,将编程工作分为五种,概括得很好,分享一下 - 结构性工作 - 将特定代码,代码段,代码库构成有特定功能的程序 - HTML,javascript,软件工程,操作系统 - 网页UI界面,前端后端可视化,通信协议,操作系统 - 效率性工作 - 将特定工程问题抽象为数学问题,发明新的数据结构/操作逻辑来提升效率 - 数据结构,离散数学,组合数学,图论 - 排序算法,优化算法 - 逻辑性工作 - 模拟人类认知逻辑 - 概率论,数理统计,线性代数,图论,拓扑学,数学分析 - 概率统计,机器学习,数据挖掘,语音识别,文字理解,信息检索,数据分析 - 仿真性工作 - 力学(空气动力,结构,刚体),光学,专业知识,微积分,微分方程,线性代数 - 游戏,动画,设计,工业仿真 - 物理性工作 - 与世界直接接触,传感器观测,控制器控制 - 刚体力学,运动学,系统理论,控制论,信号处理,系统建模,机器视觉,概率统计,优化 - 航空航天,自动驾驶,机器人