找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2|回复: 0

代码会写,工具不会用:MIT这门课补的是工程师的基本功(2026新版)

[复制链接]

4

主题

0

回帖

12

积分

新手上路

积分
12
发表于 昨天 21:50 | 显示全部楼层 |阅读模式
【代码会写,工具不会用:MIT这门课补的是工程师的基本功(2026新版)】


快速阅读: MIT有门课专门教CS学生那些“没人教但天天要用”的东西:命令行、版本控制、调试工具、代码质量。2026年新增了AI辅助编程内容。这门课在网络上引发广泛讨论,核心争议是:这些基础工具技能,到底该不该系统教?

---

MIT有门叫“Missing Semester”的课,名字起得很直白:这就是你CS教育里缺掉的那学期。

操作系统原理、机器学习算法,高校教得很系统。但Shell怎么用、Git怎么用好、怎么写有意义的commit message——这些东西学生要么自己摸索,要么毕业了才发现自己根本不会。

有网友专门提到代码注释这件事,说得相当到位:读代码本身能告诉你“做了什么”,注释应该解释“为什么这么做”。`i+=1; /- 增加i */` 这种注释毫无价值,真正有用的注释是:我在循环中途自增i,是为了能提前看到下一个值来判断是否需要交换。

用给外行讲解的语气写注释,代码才能活得更久。软件的大部分生命周期和大部分成本都在维护阶段,这一点很多人从来没认真想过。

Git的讨论占了评论区相当大的篇幅。

有观点认为,大量所谓“高级工程师”、“可靠性工程师”,遇到git出问题的第一反应是删掉重克隆。提交信息永远是`changes`或者`try fix`,git bisect/blame/revert根本不知道怎么用,更别说用这些工具还原一段代码演变的故事。

反驳的声音也很强:这不完全是工程师的问题,Git的设计本身就不友好。接口反直觉,抽象层到处漏,一旦出了问题,不熟悉内部模型的人根本不知道怎么脱身,而能把自己搞进那个处境的人,往往也没能力出来。有人用电锯打比方,也有人回说:正因为我们做的是软件,不受物理定律限制,我们完全可以造出一把不会切断手指的电锯。

Mercurial当年输掉的那场仗,到现在还有人觉得可惜。

有一句话值得单独拿出来品品:如果你把commit历史维护好,让它讲个故事,代码审查是一种享受。如果你往上堆26条`try fix`,最后留下一团烂泥,那是折磨。

提交历史是写给未来的自己看的。很多人到现在还没意识到这一点。

2026年这版新加了AI辅助编程的内容,有人直接说应该删掉,理由是学生会产生依赖、反而学不到东西。也有人觉得这个方向对,甚至建议专门加一节“自己动手写一个agent”,说代码不复杂,几百行就能搞定,但能建立非常扎实的直觉。

还有人问得很直接:现在还有必要学CS吗,AI不是把这些都替代了?

有一个回答说得很清楚:agent很擅长解决“被解决过很多次”的问题,但无法用洞察力重新定义问题本身。他举了Flying Edges算法的例子——那是对Marching Cubes的一次根本性重构,换了底层思考框架。AI能模仿形状,但不能产生这种跃迁。

工具学得再好,不理解自己在构建什么,迟早会遇到那个时刻。

---

简评:

这门课真正在教的不是命令行,是手艺人的尊严。

算法是屠龙术,Git是磨刀石——CS教育培养的是会想象巨龙的人,却忘了刀钝了连猪都杀不死。

那个写i+=1; /*增加i*/的人,和在博物馆油画前挂个牌子写“这是一幅画”的人,本质上是同一个人。代码注释的真谛是留下思考的温度,让后来者知道此刻你为何如此抉择。

有趣的是Git的争论。有人说电锯危险怪使用者,有人说软件不受物理限制、完全可以造不伤手的锯子。这恰恰暴露了程序员的傲慢与天真:我们总以为自己是造工具的人,却忘了大多数时候我们只是被工具塑造的人。

提交历史是写给未来的遗书。可惜多数人写的是changes、fix、try again——像极了人生最后只留下“来过”两个字。

---

课程主页:missing.csail.mit.edu


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|一起港湾 ( 青ICP备2025004122号-1 )

GMT+8, 2026-2-26 05:03 , Processed in 0.181326 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表