2 须道菩提一剑斩天 6小时前 119次点击
如果把问题说得直白一点:“自己手写代码”和“让 AI 写代码”,现在已经不是二选一了。真正比较好的路线,是人负责理解、设计、判断,AI 负责大量实现。
我甚至觉得,未来学编程最容易走偏的有两种极端:
第一种:完全不用 AI,什么都自己敲。
这种方式当然能练基本功,但效率太低。比如你要写一个 Android 功能,自己花两个小时查 API、试参数、改语法,AI 可能几分钟就能给你一个初版。把大量时间消耗在“查怎么写”上,并不一定是在提高真正的编程能力。
第二种:完全不会代码,只会让 AI 生成。
这个反而更危险。因为代码一旦出现问题,你不知道问题在哪里;AI 改了一处,又可能把另外三处弄坏。尤其是你以前碰到的那种 Lua、AndroLua+、Android 工程问题,单纯复制 AI 的代码很容易出现“看起来合理,运行直接报错”的情况。
所以我更推荐第三条路:
自己学懂代码的基本原理 + AI 负责实现大量代码 + 自己负责检查、调试和决定最终方案。
可以把它理解成:
以前的程序员:
我知道怎么写,所以我写代码。
现在比较理想的程序员:
我知道我要做什么,也知道代码应该怎么工作,所以我让 AI 帮我写,然后我能够判断它写得对不对。
这两者看起来差不多,实际上差别非常大。
比如你说:
“帮我写一个单指拖动控制角色移动的 Lua 程序。”
AI 可以直接写出来。
但如果程序报:
attempt to perform arithmetic on a nil value (global '竖')
如果你完全不懂代码,你只能继续问:
“AI,帮我修。”
然后 AI 可能改一版,又报另一个错误。
如果你知道 Lua 的变量、作用域、全局变量、函数参数、运行环境这些基本概念,你看到:
竖 = 竖 + 1
就会马上想到:
“这里的竖根本没有初始化,或者当前执行环境里根本没有这个变量。”
这时候 AI 就真正变成了你的程序员助手,而不是你的黑盒代码生成器。
其实现在学编程,重点已经变了
以前学习编程,经常强调:
语法 → API → 数据结构 → 算法 → 项目
现在我认为应该更加偏向:
逻辑 → 程序结构 → 调试能力 → 阅读代码 → AI 协作 → 语法/API
因为语法和 API 本身,AI 确实已经非常擅长查。
例如你不记得 Java 怎么创建线程。
以前你可能要翻书、搜索、看教程。
现在直接问 AI:
“Java 21 给我一个安全的后台任务示例,并解释每一部分。”
这非常正常。
但如果 AI 给你的程序出现:
NullPointerException
你至少应该知道:
“这是空对象引用问题。”
这就是必须掌握的东西。
我觉得真正不能交给 AI 的,是这几个能力
第一,判断程序到底应该怎么设计。
例如你要做一个游戏。
到底应该:
触摸 → 判断手势 → 改坐标 → 检查障碍 → 播放声音
还是:
触摸 → 创建移动事件 → 游戏循环处理 → 更新坐标 → 碰撞检测
这不是 AI 替你决定就一定正确。
第二,读代码。
现在很多人犯的一个错误就是:
“我不会写代码,但是 AI 会写,所以我不需要学。”
其实恰恰相反。
AI 时代最重要的能力之一就是看懂 AI 写出来的代码。
你不一定需要能够从零敲出 5000 行代码,但你最好能看到 5000 行代码之后知道:
这里负责输入。
这里负责地图。
这里负责网络。
这里负责保存数据。
这里可能产生空指针。
这里修改了全局变量。
这里是程序启动入口。
这已经非常强了。
第三,调试。
我甚至认为:
AI 时代,调试能力的重要性会上升,而不是下降。
因为以后代码生成速度越来越快。
以前一个程序员一天写 300 行。
以后 AI 可能一分钟给你 300 行。
于是问题就来了:
这 300 行到底对不对?
所以真正稀缺的不是“生成代码”,而是验证代码。
那是不是意味着以后不用学编程了?
我认为不是。
反而应该学习。
但是学习方式应该变。
你不需要把自己训练成一个“人肉代码生成器”。
例如:
for 怎么写
while 怎么写
Java 的某个 API 参数是什么
Android 某个类怎么调用
这些东西不用死背。
但下面这些东西,我建议认真学:
变量是什么。
函数是什么。
参数和返回值是什么。
作用域是什么。
条件判断是什么。
循环是什么。
表、数组、对象是什么。
类是什么。
事件是什么。
异步是什么。
程序状态是什么。
文件、网络、数据库分别是什么。
错误为什么产生。
程序为什么会崩溃。
这些东西一旦理解,换 Lua、Python、Java、JavaScript、C#,你都能逐渐适应。
而且你这种情况,其实特别适合 AI 编程
因为你本身就不是单纯想学一个语言的语法。
你之前折腾过 Lua、AndroLua+、Android、APK、手势、TTS、游戏逻辑、工程构建这些东西。
这种情况下,完全靠自己一点一点查资料写,会非常慢。
但完全复制 AI 的代码也会非常痛苦。
最合适的模式其实是:
你提出需求 → AI 写第一版 → 你运行 → 把错误原样给 AI → AI 分析 → 你理解为什么错 → 再修改 → 最终代码进入自己的项目。
这个循环重复几十次以后,你会发现一个很有意思的事情:
一开始你可能是:
“AI,给我写一个。”
后来会变成:
“这里为什么是 nil?”
再后来:
“这个函数的执行环境不对。”
再后来:
“这里不应该直接改全局变量,应该传参数。”
最后甚至会变成:
“这个架构我自己已经想好了,你帮我实现这一部分。”
到了这一步,你已经不是单纯依赖 AI 了。
你是在使用 AI。
这两者差别非常大。
所以如果让我把这件事情压缩成一句话:
不要和 AI 比谁写代码快。让 AI 写得比你快;你要做到的是,比 AI 更清楚这个程序到底应该是什么。
未来真正厉害的程序员,很可能不是那个一天能手敲最多代码的人,而是那个能够把一个模糊需求拆成清晰系统,并且能够让 AI 快速实现、测试、修改和维护的人。
所以我不建议你走“纯手写派”,也不建议走“纯 AI 派”。
我更推荐:
30% 学编程原理 + 20% 自己写 + 50% AI 协作。
而且随着能力提高,这个比例还可以继续变化。
最开始可以让 AI 多写一点;等你越来越懂,逐渐变成:
你负责架构,AI 负责施工。
这可能才是现在学编程最有意思的一条路。
提示。这是我的真实经历
话再说清楚点就是。你不能什么皮毛都不会,就去让ai帮你写代码,ai也不知道他写的对不对,反正ai帮你写了他就是写了。之后,如果想让ai帮你做应用,就必须从网上找代码教程。本次讨论到此结束,评论区交给大家
积分:1822