从前,写代码很有趣
Source: Dev.to
请提供您希望翻译的正文内容,我将为您翻译成简体中文并保持原有的格式。
我是那些有幸亲手编写最原始代码的开发者之一,曾经每一行都手写完成。没有 Copilot。没有提示。只有原始逻辑、咖啡因和闪烁的光标。
我很高兴我这么做了。
我曾在工作时、业余时间、压力之下、心情愉快时写代码。甚至在梦里我仍在写代码。我之所以这么做,是因为创造东西、修复问题、构建系统……很有趣。
当你退后一步,看看自己构建的东西,然后想到:
我太聪明了。是我做到的。
那时,你不仅仅是在组装组件;你在构建思维模型。每个函数都要经过层层思考。你在问题出现之前就已经追踪到边缘情况,并在生产环境有机会让你惊讶之前模拟失败。每修复一个 bug,你就会变得更敏锐。你不只是写代码——你在锻造它。
我们今天仍然可以这么做。不同之处在于:我们不一定非得这么做。
我记得有一次,我构建了一个让我真正自豪的复杂组件。我给朋友打电话说:
“你得看看这个……是的,我知道已经凌晨 2 点了。”
并不是因为有人要求,也不是因为紧急,而是因为我完成了一件困难的事,我需要有人见证。这种兴奋是很难伪装的。
(而且,码农们,我没有夸大其词。)
AI 加速悖论
快进到今天。
在过去的几个月里,我写的代码量超过了我整整一年的产出。输出指标看起来惊人。生产力图表会为我点赞。
但总觉得……有点不对。
感觉不像是我自己构建的。更像是“9 k Jr. 开发者”帮我完成的。
是的,我审查过它。
是的,我细化过它。
是的,我理解它。
但它并不是源自那种深度认知的磨砺。更像是有人帮你打败了最终 boss,救出了公主。你得到荣誉……但你并没有亲自玩这场游戏。
这就是悖论所在:
当创作变得轻而易举时,成就感也会变得轻飘飘。
流的终结
还有一个没人提及的副作用。
在编写复杂系统时,流状态曾经自然出现。你会沉浸数小时,构建逻辑、调试边缘情况、细化抽象。
现在呢?
- 你描述你想要的内容。
- 你等待。
- 你分心。
AI 在你查看消息或刷社交媒体时完成了工作,而你则不断点击 接受、接受、接受。
当你敲代码时,大脑和双手是同步的。那种挣扎将系统编码进了你体内。AI 消除了摩擦,但摩擦正是编码的机制。
打字曾经是快乐的
这让我感到惊讶。
打字曾经令人满足。机械键盘(我有几把),快速的思绪转化为结构化的语法,思考通过手指的物理节奏。
现在更容易口述需求。描述比构建更轻松。
但描述并不等同于构建,而构建才是快乐所在。
生产中的所有权差距
事情变得严肃起来。
几周前,因最近的更改,生产环境出现了故障。
那位老手(9 k)本来会准确知道该去哪里查看以及如何修复。
这一次,我不得不像陌生人一样重新阅读自己的系统。
这种领悟的冲击比 bug 本身更强。
当你自己写的代码在生产环境中出错时,你的大脑已经有了一张地图。你可以快速定位。你凭直觉进行调试。你几乎能感受到:
“文件 XYZ,第 32 行。就是这里出错了。”
因为整个代码库已经在你的大脑中流转,而不仅仅是眼睛看到的。你已经对其进行过模拟,与你搏斗过,甚至生活在其中。
那么现在出现故障时?
你会逐行回顾代码——这不是因为你无能,而是因为你没有以同样的方式内化它。你审查过它,但没有锻造它。
在认知上有以下区别:
- 编写代码
- 审查代码
- 理解代码
我们正慢慢从“编写代码”转向“理解代码”,这种转变会改变知识嵌入的深度。
我不是在抱怨——我在观察
我并不是反AI。(讽刺的是,我的缩写正是 A.I.)
我见证了代码的崛起。我有幸以最原始的形式手写代码,我很庆幸自己这么做过。我也看到了事物的发展方向。
AI不会消失。它会变得更好、更快、更自主。
但游戏规则已经改变
也许我们的角色不再是打字更快了。也许应该是:
- 更好地进行架构设计
- 提出更精准的问题
- 设计更深入的系统
- 更清晰地理解权衡取舍
- 对决策负责,而不是仅仅负责代码行
工艺在演变。但我们必须有意识地决定如何与之共同进化。
那么我到底怎么想?
我认为此时此刻让人感到不适,因为我们正处于一个过渡时代。
那些手写所有代码的开发者最强烈地感受到这种转变。我们记得当摩擦感是回报的一部分时的感受。
有时我会发现自己已经像个老爷爷一样,谈论“过去的美好时光”,即写代码到凌晨 2 点。
新一代人可能永远不会体验到同样的满足感,但他们可能会体验到另一种满足感。
对我们这些老前辈来说,挑战不在于抵制AI。
而是要弄清楚如何使用它而不在过程中失去自我。
也许解决方案很简单:
- 有时关闭它。
- 有时自己编写复杂的东西。
- 有时故意让自己挣扎。
因为挣扎并非低效。有时,它是意义所在。
而且是的……为了完全透明:
我在AI的帮助下写了这篇文章。我大部分是口述而不是键入。
写作过去也很有趣。


