未分类

机械工程学生为什么学编程

经常有人问我:你一个学机械的,怎么跑去写代码了?

这个问题我想过很多次,答案其实不是”转行”,而是”延伸”。

从金工实习说起

大一的暑假,我们专业去金工实习。车床、铣床、焊工、铸造,每样都轮一遍。那是我第一次觉得,机械这个行业有意思的地方不在图纸上,在于你要让一台机器按照你的意图运动。车一个零件,刀具进给的速度、切削的深度、冷却液的流量,每一个参数都在和物理世界打交道。

但那时候我隐约有个感觉:控制机器的精度,靠人手和眼睛是有极限的。车床上的刻度盘能到 0.02 毫米,再往下,就得靠别的办法了。

第一块开发板

后来我买了第一块开发板,STM32。理由很朴素:听说它能控制电机,我想试试能不能让一台机器自己动。

从点亮第一个 LED 到驱动步进电机,再到现在看来很简单的一个闭环调速,每一步都在把金工实习里那个模糊的念头变成现实:机器确实可以被精确地控制,而且控制它的语言,是代码。

那段时间我把大部分课余时间花在调板上。示波器、逻辑分析仪、烙铁,桌面上堆了一堆东西。调通一个外设的成就感,和车出一个合格零件很像,但反馈更快,迭代更便宜。坏了就重新烧,烧错了就再改,这个循环里没有材料成本,只有时间成本。

然后系统变大了

单片机玩到一定程度,会撞上一堵墙:你写的是裸机程序,所有东西都是你自己管。中断、定时器、内存、外设,一个裸机工程到后期,代码量和心智负担会同时爆炸。

这个时候 Linux 出现了。或者说,是”操作系统”这个概念出现了。你会发现你之前手写的一堆东西,内核里早就有了更成熟的实现。设备树、驱动框架、进程调度,每一层都有前人的智慧,你要做的是理解它,然后在正确的层次上做自己的事。

这个过程对我的影响比技术本身大得多。它教会我一件事:不要重复造轮子,但一定要弄明白轮子为什么是这个形状。

为什么是”延伸”而不是”转行”

现在如果有人问我为什么学编程,我会说:机械教会我系统思维,编程给了我实现系统思维的工具。一个机械工程师如果懂控制逻辑,他能做出来的东西,不只是零件,而是整个系统。

我不觉得这是逃离机械。相反,我觉得这是把机械这条路走宽了。课程设计里我写过程序去算有限元,也写过脚本批量处理实验数据,最近甚至试着让大模型帮我理解文档。编程在我这里一直是工具,是让机械这件事更精确、更高效、更好玩的手段。

至于最后会走到哪,我还没想清楚。但方向是明确的:往系统深处走,往原理层走。走一步算一步,但每一步都得踩实。

机械工程学生为什么学编程已关闭评论