当前位置: 首页 > news >正文

“AI,给我整点x86汇编!”从业25年,一名编程教师顿悟:既然都在Vibe Coding了,不如直接“开摆”

【CSDN 编者按】当 Vibe Coding 成为越来越多开发者的日常,我们或许都隐约感到:软件开发正在进入一个全新范式。在此背景下,本文作者提出了一个更尖锐、几乎有点“逆向思维”的问题——既然你已经在靠AI写代码了,为什么不用 C?甚至为什么不用 x86 汇编?如果未来的代码是写给机器看的,那我们今天习以为常的编程语言、可读性、语法糖,还有意义吗?是否需要一种专为 AI 生成而生的“面向 Vibe 的编程语言”?

原文链接:https://stephenramsay.net/posts/vibe-coding.html

作者 | Stephen Ramsay 翻译 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

我有个想法:如果你都开始 Vibe Coding 了,那为啥不直接用 C?或者,更狠一点,干脆上 x86 汇编?

在展开这个看似无厘头的想法之前,我先澄清几个关键点——因为我是说真的,并不是在嘲讽或挖苦。

首先,我本人其实并不喜欢所谓的 Vibe Coding(靠感觉写代码/完全由 AI 生成代码)。我很喜欢编程,从 90 年代中后期第一次接触到它时就很喜欢。对我来说,写代码一直是“不太像工作”的工作——实在是太好玩了。它是我的职业,也是我的业余爱好。

有句话怎么说来着?“做你热爱的事,你将一生无需工作”——这大概就是我写代码时的感受。

我教编程 25 年了,从来没腻过,每学期的第一节课我还是兴奋得不行。说句听起来可能有点矫情的实话:把不会编程的人教成会编程的人,就是我的事业,也是我作为大学教授最值得骄傲的事情。

但 Vibe Coding 给我的感觉……很怪,甚至有点“脏”。我不是说它像作弊(虽然确实有那味儿),而是它剥夺了编程的乐趣。我经常跟学生说,编程就像世界上最棒的填字游戏,当你填对了,它真的会“跳起来唱歌”。可 Vibe Coding 抢走了这种成就感——因为程序不是我亲手写出来的,我并没有“破解”那个谜题。

更可怕的是,身为一名程序员,你本该与各种“不确定性”长期共处:你以为你懂了编译器的内部逻辑?也许吧;你以为你真正搞懂了虚拟内存系统?可能吧。虽然没法给出肯定答案,但我还是想努力理解我写下的每一行代码,而不是被 Claude 生成的一段读不明白的代码折磨得痛不欲生。

但这就引出了第二个关键点:Vibe Coding 实际上是可行的,它真的能产出健壮、复杂、可运行的系统。你可能像我一样,一开始坚信“AI 不可能做到这一点”——但这是错的;你可能以为它顶多算个编程问题的“平替搜索引擎”——这也是错的。

当你开始把那些你懒得自己写的小程序交给它时,你会发现:这玩意儿太能干了。直到某天,你随口对着 AI 模型念叨一句 “我有个程序构想……”,你会被它的输出彻底惊艳。要是没被惊艳到,要么是你压根没认真试过,要么就是还没接受现实。

你说AI生成的代码完美吗?远远谈不上。但话说回来,人类程序员写的代码也未必完美。而这会是未来吗?我想答案不言而喻。

每一种编程语言,都是为“人类”准备的

言归正传,回到文章标题这个看似无厘头的想法上。

我当年刚入坑编程时看过《计算机程序的构造和解释》(SICP),并认为它是 20 世纪最伟大的编程教材之一。书里有段话我一直记得——书的序言第二段:

“我们希望建立这样一个理念:编程语言不仅仅是让计算机执行操作的工具,它更是一种表达方法学思想的形式化媒介。因此,程序首先是写给人看的,只是顺带让机器执行而已。”

从那以后,我就一直把这个理念的各种版本灌输给学生。我会提醒他们,计算机根本不在乎代码对人类是否“可读”、“易用”,它只需要代码能被自己解析和执行就行 —— 这个门槛比“可被人类理解”要低多了。

而每一种编程语言,哪怕是汇编语言,都是为“人类”准备的。所谓语言的创新,不是因为它拥有自动内存管理、并发、安全、错误检查,而是它让“人类”能更轻松表达和梳理这些技术逻辑。

像我们夸 Rust 的安全、夸 C++ 的零开销抽象、夸 Go 的并发模型……说到底,这些能力都是“人类程序员”获得的便利,而不是计算机获得的。对计算机来说,我们这种“面向对象情结”,无非是对堆内存有着莫名的执念罢了:“你们爱咋折腾咋折腾吧。”(计算机大概会这么想)

其实不管是函数式编程、代数数据类型、依赖类型、不可变数据结构,还是代码大括号风格……这些都是“人类工程学问题”。与“机器工程问题”相比,人类的问题要复杂得多。

为什么让 AI 输出为“人类”设计的语言?

所以,我的问题来了:

既然你都已经 Vibe Coding 了,为啥还要用那些为人类便利而设计的语言?

换句话说:用 AI 生成出来的,难道不应该是对机器最友好的语言吗?为什么不让它直接写 C?或者,直接生成 x86 汇编代码不是更直接吗?

你可能会反驳说:“但我们还需要理解代码啊。”——好的,但请注意:如果你真的在搞 Vibe Coding,那你本来就搞不懂AI生成的大部分代码了。而且,你要是仔细观察会发现,AI 其实并不怕 C 语言里的未定义行为,也能妥善处理内存释放,更不容易犯“错误”。它比你更能正确执行逻辑,就像编译器比你更会优化一样。完美吗?当然不。但正如我之前所说,谁都做不到完美。

那么 C 语言是 Vibe Coding 的最佳语言吗?也许不是。但我知道 Rust 肯定更不适合,Haskell、OCaml 就更别提了,毕竟这些语言都是写给“人类”看的,而不是给“AI”看的。甚至,它们在 AI 模型面前都会显得有些“可爱”——考虑了太多 AI 压根不存在的问题。

也许,我们应该发明一种面向 Vibe 的新语言

我想表达的核心是:如果 Vibe Coding 真是软件开发的未来,那我们何苦还要死守那些为“人类”设计的语言?难道不该诞生一种“面向Vibe 的编程语言”(Vibe-Oriented Programming Language,简称 VOPL)吗?

我猜,你可能是第一次听到这个概念。

这个 VOPL 可能是什么样的呢?

可能一:超强“伪代码”语言,即表面上给你展示通俗易懂的伪代码,背地里却在默默生成汇编指令。

可能二:真正实现“文学编程”,即你写一份阐述“方法论思想”的文字文档,AI 就能直接产出机器码,程序员的核心工作也变成了验证 AI 生成的机器码(连测试用例也是 AI 写的)。

可能三:接近自然语言,但带有特定的编程行话,即比现有的任何语言都更贴近自然语言,同时又自带一套易于掌握的惯用表达,能引导 AI 更精准、更高效地给出解决方案

不过现实是:AI 代码大模型之所以擅长 JavaScript 和 C++,核心原因是它已经学习了这两种语言的数十亿行代码,以及无数论坛帖子、StackOverflow 上的争论等相关数据。因此,想要搭建并推广一个 VOPL 很难。

但也有人猜测,LLM 其实已经在学习某种未来版本的 VOPL 了——毕竟现在太多程序员都在用 Vibe Coding 来构建生产级系统,相当于在摸着石头过河。

我对这种未来的感受?

用一个词来形容的话,就是:复杂。

一想到“手写代码”会变成未来 Vibe Coder 的启蒙课程、一种类似于幼儿园里的趣味启蒙,我确实有点悲伤;但另一方面,一个新的计算范式正在诞生,又令我感到兴奋。

从宏观时间来看,不久前(1945 年左右的 ENIAC 时期),人们才意识到每次计算都要重新布线有多低效;而当存储程序计算机(1951 年左右的 EDVAC)出现时,同样有人怨声载道,说它“不可靠、慢、剥夺操作者参与、威胁专业性、不够纯粹”。

如今,我们的激烈争论与当年相比,看起来真是“如出一辙”啊。

活动推荐:

12 月 21 日,GOBI 2025 全球开源商业创新大会(Global Open-source Business Innovation Conference)将在北京海淀万丽酒店隆重举行。以“释放源力,创造未来”为核心理念,将“开源、AI、商业”三大关键要素融合于一体,打造面向全球的思想交流场、趋势洞察场与资源链接场。

预计将有 500+ 位顶尖开源力量全面集结现场:开源基金会掌舵者、独角兽创始人、头部 VC 合伙人、全球知名 AI 框架作者、技术巨头高层、行业影响力 KOL 以及顶级开发者代表,将与您同场交流。

立即扫码或打开链接报名参会,现场领取大会限定专属好礼:

http://www.cnnetsun.cn/news/75219.html

相关文章:

  • 使用Wan2.2-T2V-A14B实现商用级广告视频自动生成全流程
  • EmotiVoice语音合成模型部署指南:Windows平台下的npm安装方法
  • C++中的constexpr函数:编译时与运行时的抉择
  • Python中Pandas与SQL结果集的交互处理
  • 使用EmotiVoice构建游戏NPC对话系统:自然语音生成全攻略
  • 2026年前端技术的真实处境:从追捧到失落
  • AutoGPT任务中断恢复机制设计:保障长时间运行的稳定性
  • AI 创作全链路攻略:从标题到整篇文章,10 分钟搞定 CSDN 技术文
  • 深圳市47个数据中心一览表
  • 从零开始搭建AutoGPT:基于大模型的智能体自动化任务实践
  • Apk Pure开发者如何利用LLama-Factory压缩模型适配移动设备?
  • 16个自动驾驶算法从感知到模型部署,超全!
  • PKHeX.Mobile终极指南:移动端宝可梦存档编辑完全教程
  • 21、时间点与持续时间建模:原理、应用与挑战
  • 如何快速掌握网站下载:WebSite-Downloader 完整使用指南
  • 27、时态数据库概念解析
  • 30、数据库镜像重建中的闪回管理与SQL注入防范
  • Wan2.2-T2V-5B模型API封装实践:集成到Web应用的步骤详解
  • Typora支持HTML5音频播放:完美呈现ACE-Step输出效果
  • 39、使用MRTG进行网络监控的全面指南
  • AI+教育的未来发展趋势:人机环境系统智能
  • 8个降AI率工具推荐,本科生课堂汇报必备
  • 1、雾无线接入网络:5G 及 6G 通信的新范式
  • 卫星轨道预测终极指南:5步掌握SGP4模型核心应用
  • 中国科学技术大学学位论文LaTeX模板完整指南
  • 16、雾无线接入网络中的计算卸载与原型设计
  • 18、雾无线接入网络(F-RAN):原型、性能评估与未来挑战
  • Snakemake中的样本配对与文件处理
  • 工业防水平板电脑WPPC-H1520T(P)在食品加工湿环境中的部署与应用开发实践
  • 探索数字组合的艺术