编程并不特殊
编程与 AI 的关系让开发者分裂:一些人认为代码主要只是交付商业价值的工具性手段;另一些人则坚持它是一种手艺,甚至是一种艺术形式,人类的意图与美感都很重要。评论者争论 AI 辅助编码究竟只是又一种消除枯燥劳动的工具,还是会侵蚀工艺、原创性和解决问题的乐趣,转而生产虽然“能用”却只是“slop”的东西。更深层的是一种焦虑:人类程序员是否会变得多余,让手写代码像工业自动化之后的传统手工艺一样,只剩小众爱好。
编程:艺术 vs. 工具性手艺
- 许多人认为,大多数职业编程就像水暖、电暖通风与空调(HVAC)或会计一样,是一种工业化工作:是实现某个目的(商业价值)的手段,而不是艺术。
- 也有人把编程看作一种手艺或艺术形式,尤其是在某些小众领域(demoscene、esolangs、live-coding、优雅的类型层设计、历史上有影响力的系统)中。
- 还有人区分:
- “Coding” 指把指令敲出来。
- “Programming” 指设计、抽象和解决问题;更接近工程或写作。
- 争论还在于代码本身是否是艺术,还是只有最终生成的程序才是。有些人把代码库看作文学作品;另一些人则说只有最终用户的行为才重要。
用户价值、质量与工艺
- 许多人强调,用户只关心软件“能用”并解决了他们的问题;他们很少看到或在意底层代码。
- 也有人认为,对结构和美感的工匠式关注,会与可靠性、可维护性和长期质量相关。
- 类比包括:砌砖、围栏、桥梁、建筑、烹饪和技术图纸——它们通常主要是工具性的,但有时也会被提升为艺术。
AI 的角色与编程的未来
- 一派预测,严肃的软件很快将由机器生成;人类编程会变成一种复古爱好,就像手工织布或在老机器上写 BASIC 一样。
- 另一派认为,人类程序员仍将因问题定义、架构和监督而不可或缺,而 AI 主要只是消除枯燥劳动(样板代码、测试、重构)。
- 有些人觉得 AI 很解放:更少焦虑、更容易维护、更好地平衡工作与生活、实验更快。
- 另一些人则认为 AI 编码产出的只是“slop”:脆弱、不连贯、难以推理,侵蚀工艺,让优质代码变成无关紧要的误差。
- 对就业影响并无明确共识;焦虑很普遍,尤其是对新手而言,他们担心自己在 AI 充斥的世界里无法证明自己有“真正”的技能。
抽象、确定性与代码质量
- 对把 AI 称为“抽象层”存在分歧。批评者说,真正的抽象(语言/编译器)是确定性的契约;LLM 更像随机性的承包商。
- 很多人认为,可维护性、安全性和性能是代码结构的属性,而不仅仅是其可观察行为;他们担心 AI 代理并不会在意这些。
艺术、意图、原创性与文化
- 有些人把艺术定义为人类的、有意图的、具表现力的;按这个标准,没有引导的 AI 输出不是艺术,只是“懒惰”的拼贴模仿。
- 另一些人认为,任何能打动人的东西都可以是艺术,不论其来源如何,并指出匿名作品以及历史上对新媒介的误判。
- 该帖指出,从历史上看,许多程序员比很多艺术家更重视约定俗成和复用,而不是原创性。
- 人们在把 AI 看作赋能工具,还是看作一种晚期资本主义优化的象征、从而边缘化工艺与“程序员身份”之间,存在张力。
元讨论与社区动态
- 有几条评论抱怨这场讨论流于表面、极化,或者由根本没读文章的人主导。
- 有些人认为编程界对 AI 的强烈反感是一种把关与地位保护;另一些人则觉得亲 AI 的热情体现了对工艺的漠视。