为什么我在氛围编程时代学习编程
Vibe 编码现在很流行,很多人声称因为它你再也不需要学习编程了。但我选择走另一条路,我会和你分享原因。
氛围编码的热潮
它不能解决所有问题
每天我登陆Reddit时,都会看到至少几篇关于人们在气氛编码他们的第一个应用程序的帖子。其他社交平台也是如此。毫无疑问,气氛编码正吸引越来越多的非程序员去创作软件。
想想几年前,当大型语言模型(LLM)还不那么流行的时候。如果你对编程感兴趣或者想要创建一个应用程序,你必须投入一个长期的学习编程的旅程。根据你的能力,这可能在时间和金钱上都很昂贵。许多很棒的想法从未实现,只因为创意者不会编程,也无法雇佣开发人员。
有了 Vibe 编码,那种场景已经永久改变。从周末的宠物项目原型设计到构建半专业级的软件,如果你能够正确引导,人工智能通常都能做到。与几年前相比,开发软件的门槛已经降低了。
你不需要理解任何代码,更别说编写代码了。你不需要了解幕后发生的任何事情。不需要学习复杂的算法。谁会不想要这样的呢?但是,真有那么简单吗?你能在完全不懂编程的情况下随意写代码吗?不太可能。这就是为什么我还不准备放弃去学习随意编程的原因。
最有氛围的程序员只是程序员
惊喜!程序员知道如何使用编程工具
虽然人工智能工具可以根据简单的提示生成代码,但氛围编码并不是为了取代传统编码。它更像是一个可靠的助手。熟练的程序员明白这一点。他们不把人工智能视为竞争对手,而是视为工具箱中的强大工具。对他们来说,氛围编码是一项协作任务。他们以自己的编码技能为主导,而人工智能则跟随,提升处理速度。这就是为什么最优秀的氛围编码者通常只是程序员——那些懂行的人利用自己的技能让人工智能发挥光彩。
如果你曾经尝试过无编程经验的情感编码,你可能遇到过这样的情况:AI 输出的东西看起来不错,但实际上并不能工作。也许网页加载正常,但在手机上崩溃,或者脚本陷入了无限循环。程序员在这里有一个超级能力:他们能够发现问题。掌握基础知识让他们可以窥探 AI 生成的代码的内部结构,并找出问题所在。
与其模糊地让 AI “解决问题”,他们可以说,“嘿,你在这个函数中忘记处理空值了,”就这样,AI 提供了更好的修复。这就像给朋友明确的指示,而不是希望他们猜到路一样。
这种精确性延伸到从一开始就引导人工智能。程序员知道如何设计提示,以引导人工智能采取正确的方法。例如,一个非程序员可能会说,“帮我做一个登录页面”,结果可能是笨拙且不安全的。而程序员可能会说,“使用 HTML、CSS 和 JavaScript 创建一个登录页面,并使用 bcrypt 进行密码哈希,添加 CSRF 保护。”这就是草稿与精心制作的产品之间的区别。
这不仅仅是修复漏洞或编写提示。程序员带来的是一种仅凭自动生成代码无法复制的思维模式。他们知道何时从 AI 的建议中转向更高效的解决方案,例如用轻量级库替换臃肿的库。他们理解不同编程方法的取舍,例如在实时应用中优先考虑速度而非内存使用。这种通过实际编码积累的直觉,使他们的自动生成代码环节更有效,项目也更稳健。
你的编程技能仍然重要
Vibe 编码尚未取代人类程序员
我已经完成了我的气氛编程部分。当我还是大学一年级新生的时候,我们被要求做一个期末项目。那时候 ChatGPT 还很新。它在编程方面也没有现在这么强大。那时“气氛编程”甚至还不是一个术语。我和我的朋友决定用 Java 做一个简单的银行系统。
我们了解了编程基础和一些 Java。但我们还不够专业,无法创建一个可运行的银行系统。我们做了什么?我们试图用 ChatGPT 来完成整个系统。正如你所料,我们遇到了许多陷阱。AI 生成的代码有几个错误需要我们调试,一些不好的实践需要我们修正,还有一些错误的方法需要我们改正。尽管我们计划用“vibe code”来完成整个系统(尽管那个词当时还不存在),但我们未能做到。
我分享这个故事的原因是为了提醒你,编程技能在短时间内不会消失。我看到无数社交媒体帖子,都是对编程感兴趣的新手在问现在学习编程是否值得。我的回答?绝对值得。
程序员不仅仅是编写代码的人。本质上,程序员是问题解决者。更具体地说,他们以最有效的方式解决问题。经过多次迭代,人工智能工具已经比以前好了很多。然而,它们仍然没有达到人类工程师的思维水平,也没有实现完美解决方案所需的相同知识。
这就是为什么我决定继续我的编程之旅。事实上,我现在比以前更加有动力。借助人工智能工具,我可以让学习变得更轻松、更有趣。我还可以在编程时把它当作帮手。在“我一点也不想使用人工智能工具”到“我会盲目信任人工智能的代码”这个范围上,我选择了中间立场。也就是说,利用人工智能工具为我所用,提高我的生产力,并巩固我的编程技能。
你最不想要的就是创造一个产品,结果变得像这个人一样。
人工智能辅助编程的未来
强调“辅助”
随着这么多的语言模型(LLM)、人工智能代理和各种工具,编程范式肯定正在快速发展,就像一直以来一样。然而,人工智能不会在短期内取代程序员。虽然如此,它确实改变了我们学习编程、编写代码、实现解决方案和创建软件的方式。
许多公司正在转向人工智能辅助编程。我最近看到一位技术招聘人员说,vibe 编程现在已经成为招聘程序员时的技能测试的一部分。招聘人员有兴趣了解软件工程师如何使用 AI 工具来设计系统架构,他们如何通过提示让自己的想法变为现实,以及他们如何处理 AI 代码生成的错误。
事实是,当由合适的人使用时,人工智能工具可以将你的生产力提高十倍。因此,就像凭直觉编码无法产生人类工程设计的软件一样,作为程序员的你,应当学会适应新的人工智能编码方法。从长远来看,这正在变得像是一种必需品。当你可以有一名初级开发者陪你进行结对编程时,没有理由落后。
从人群中脱颖而出
在你周围有这么多氛围编程者,现在是专注于提升你的编程技能以让自己脱颖而出的最佳时机。氛围编程可能适合一些有趣的副项目。但以我的经验来说,如果你想成为真正的程序员,亲自动手是不可替代的。





