摘要
1) 一句话总结 借助 AI 辅助可以完成简单的编程任务,但要开发复杂且高质量的应用,仍需系统学习 UI 及软件工程等专业知识,并强调持续动手实践是提升编程技能的核心。
2) 关键要点
- 零基础与 AI 的边界:没有 CS 基础借助 AI 只能构建简单应用;面对复杂项目,必须进行专业学习。
- 按需决定学习深度:
- 简单自用:AI 辅助在大部分场景下已经足够。
- 美观易用:需学习 UI 制作知识(如 Web 开发需掌握 CSS、JavaScript;iOS 开发需掌握 Swift、SwiftUI)。
- 高性能与高稳定性:需学习软件工程知识,涵盖需求转化、界面交互设计、系统架构设计、程序测试及发布后的运维。
- 编程的技能属性:编程是一门偏重实践的技能(类似骑车、游泳),仅靠观看名校理论课程(如哈佛 CS50)无法真正掌握,必须反复动手练习。
- AI 时代的学习策略:虽然 AI 降低了编程门槛,但成长的核心依然是“动手去写,坚持写”,在解决实际问题中积累经验。
- 建立正反馈:在编程学习过程中应尽量降低挫折感,形成正反馈循环以支撑长期坚持。
3) 风险/缺口
- 代码可维护性风险:如果不系统补足专业课程知识,仅靠实战积累的非科班程序员在后期会面临代码难以维护、无法处理复杂项目的短板。
- 理论脱离实践的风险:仅停留在观看教学视频或理论学习层面,而不亲自下场写代码,将无法真正学会编程。
正文
问:借助 AI 辅助写代码,如果不学CS的基础内容,写代码是否能进行下去?如果要学,学到什么程度?
答:这个问题让我想起我做木工活,偶尔家里有东西要修修补补,我也会整点木工活,倒不是我会木工,主要是现在工具强大使用简单,有啥需求照着油管视频做做也能搞定,但是让我打个柜子椅子什么的我可搞不定,要么得专业去学习,要么得找专业人士帮忙。
现在用 AI 写代码也跟着有点像做木工活,没有学过 CS,照着教学视频,也能构建点简单应用没问题的,但是稍微复杂一点,恐怕就很困难了,必须得专业学习才行。
那要学哪些专业知识学到什么程度呢?
其实这取决于你想做到什么程度,你想做个凑合能自己用的简单功能的,AI 辅助大部分场景够用了。
你要做一个漂亮一点的好用的,那得学习 UI 制作相关的知识,比如说你做 Web,得会用 CSS、JavaScript;你做 iOS App,得会 Swift、SwiftUI。
你要想做出来的东西别人也好用,性能好还不崩溃,那就不只是程序语言的知识,你还要学习软件工程的知识,比如怎么去把需求变成产品设计;怎么设计软件的界面和交互让它好看好用;怎么设计你的系统架构让它能稳定运行好维护;怎么测试你的程序,保证在各种情况下都能满足要求;怎么在程序发布后保证程序的稳定运行。
那这些专业知识怎么学呢?去把名校课程比如哈佛的 CS50 跟着学一遍就能会吗?
恐怕不行,编程不是一门理论知识学科,是一门偏技能的学习,就好比你学骑自行车、学游泳,看再多教学视频也是没用的,一定要去骑车去下水游泳,去反复练习才可能学的会。
在 20 多年前我们那个草根程序员时代,有很多“野路子”程序员,不是计算机课班,没有学过计算机课程,就是喜欢写程序,天天写,有问题自己去网上找答案、去论坛问人,一点点练出来的,很多人水平还不错的,但如果后期没有补习专业课程,也会有短板,就是写出来的代码不好维护,复杂项目处理不过来,如果自己平时注意补足,成就不会低于科班出生的程序员。
现在 AI 编程时代了,其实门槛低了很多,学习条件也好了很多,但是无论怎么样,想要成长,能写出好的代码,最重要的是:动手去写,坚持写!
写的过程中让自己不要挫折感太强,形成正反馈能坚持写下去,遇到问题解决问题,在解决问题的过程中成长。这方面我上次也有过相关分享:《借助 AI 学习编程,最重要的是打通学习和反馈的循环》https://baoyu.io/blog/ai-programming-learning-feedback-loop
相关文档
- 借助 AI 学习编程,最重要的是打通学习和反馈的循环;关联理由:引用;说明:本文正文末尾直接引用该文,作为“反馈循环”观点的延伸阅读来源。