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

AI时代,还有必要练习编程吗?

I时代已经开始流行所谓的 “Vibe Coding” 了,那么还有必要练习编程吗?

我认为,还是有必要的。

虽然我之前写过一篇文章,提到可以利用 AI 来帮助精炼阅读内容、快速理解文章结构,但有几个现实问题并不会因为 AI 的出现而改变。

  1. 人脑单位时间内能够学习到的知识量,其实并不会改变。简单来说,无论未来 AI 技术发展得多快,你学习知识的速度并不会同步变快。学习本身并没有真正的捷径。

  2. AI 在训练时,既学习了好的代码,也学习了坏的代码。有时候坏代码不一定是"错误代码",它可能只是充满坏味道、难维护、架构混乱的代码。如果你自己看不出来问题,那么 AI 往往也看不出来。

例子1

很多东西,有经验的人第一眼看过去,和没有经验的人看到的是完全不同的。

比如在 React 中,当你看到这样一段代码:

constphone={name:'iPhone',price:{payInFull:1000,monthlyFin:99}};

某天,产品经理让你增加一个"快照页面"。这个页面需要展示商品当前状态的一个快照,即使商品后续状态发生变化,快照页面里的内容也不应该改变。

AI 很快帮你生成了这样一段代码:

const phone = { name: 'iPhone', price: { payInFull: 1000, monthlyFin: 99 } }; <Snapshot {...phone} />

你看到{...phone},心里想:

“这个我懂,不就是对象拷贝吗?”

结果没过多久,客服部门报告了一个 Bug:在父组件内修改价格后,快照页面里的价格竟然也一起改变了。

你非常困惑,觉得这不应该发生。

经过研究后,你发现:

<Snapshot {...phone} />

并不等于:

constsnapshot={...phone}

前者只是 React 的一种 props spread 语法糖。

于是你修改了代码:

const phone = { name: 'iPhone', price: { payInFull: 1000, monthlyFin: 99 } }; const snapshot = {...phone}; <Snapshot {...snapshot} />

结果还是不行。

后来你才发现,真正需要的是:

constsnapshot=structuredClone(phone);

如果是曾经踩过类似坑的人,或者真正认真学习过 JavaScript 对象引用机制的人,往往一眼就能看出问题所在。

例子2

你有没有过这样的经历:

看教程的时候,感觉什么都会;真正开始自己写的时候,却一个字都写不出来。

我前段时间在学习一门 Data Science 课程。课堂上老师讲的内容,对于一个工程师来说其实并不复杂。

top1=Table.read_table(path_data+'top_movies_2017.csv')

但当我真正开始做作业时,题目要求我读取top_movies_2017.csv,我却突然大脑一片空白。

我不断尝试:

read_csv import_csv

等等各种可能的方法。

但奇怪的是,这个Table.read_table我明明在课本上看过很多遍。

后来我意识到,人脑学习知识的方式并不仅仅是"阅读"。学习往往是多种感官共同参与的过程。

可能有听觉,有触觉,有遇到挫折后的思考,还有不断尝试与失败的过程。而这些过程本身,其实也是记忆的一部分。

很多知识,并不是"看懂了"就真的学会了。

总结

虽然 AI 可以帮助我们快速提炼文章纲要、总结重点,但它更多只是给了我们一张地图。

它可以帮助我们跳过一些暂时不感兴趣的内容,避免把时间浪费在不重要的部分。

但我们必须清醒地认识到:

如果你学习知识本身的速度并没有真正变快,那么也不要轻易相信"AI时代普通人也可以编程"这种过度乐观的话。

“普通人可以生成代码”,并不等于"普通人可以写出可维护的商业产品"。

AI 可以帮助你加速。

但它无法替代你真正理解系统、理解代码、理解工程复杂性的过程。

http://www.jsqmd.com/news/895182/

相关文章:

  • Claude与AWS智能体服务对比:模型驱动与云原生的AI应用架构选择
  • 三合一段落树算法在时间网络分析中的应用与优化
  • 2026 AI Agent元年!掌握这波红利,下一个独角兽就是你!
  • 别再纠结选哪个了!SPSS、R、Python里正态检验方法到底怎么选?(附样本量建议)
  • 系统的“预备阶段”配置了 USB,这抢占了底层硬件探测的时机
  • 芯片架构设计能力,才是卡住大多数工程师的真正瓶颈
  • WebMCP DevTools:可视化调试工具,提升浏览器AI工具开发体验
  • 如何在Windows 10/11中为HEIC照片添加缩略图预览:终极解决方案指南
  • CenToken官网开发者接入教程|零改代码,快速对接全品类 AI 模型
  • AI智能体安全实战:从MCP协议漏洞到供应链攻击的深度防御
  • 警惕AI思维水蛭:构建人机协作的防寄生心智模型
  • LeftMenu.ocx文件丢失找不到 免费下载方法分享
  • 射频功率放大器PA核心指标实战测量指南
  • Matlab Stateflow枚举实战:从建模到代码生成的完整指南
  • 从发光原理到应用场景:LED、LCD、OLED、miniLED与MicroLED技术全解析
  • 医用不锈钢脚踏凳厂家综合评估及选购指南
  • 年产值 1.2 亿设备厂,30 万 ERP 上线一年,库存依旧不准
  • SAP PP顾问必看:如何用NOTE 309050和SE37记录COGI删除操作,防止用户误删AFFW记录
  • Quarkus与POJO-actor模式构建高并发LLM聊天应用实战
  • 如何3步搞定Windows“此电脑”中删不掉的顽固快捷方式?
  • 生成式AI背后的数学:概率、推断与世界建模
  • Bolt-On工程哲学:非侵入式模块化扩展的设计与实践
  • Git 代码误删除恢复
  • Keil µVision构建流程中运行外部程序的配置指南
  • 手机热点办公必看:一招解决Win10后台svchost疯狂偷跑流量的烦恼
  • 避坑指南:Unity 2019/2020导入Standard Assets后脚本报错?两步快速修复GUIText过时问题
  • 一步到位的宝塔面板修复与重装命令清单
  • 贝叶斯联合建模:小区域估计中连续与二元数据的协同推断
  • 超越官方手册:用CoppeliaSim 4.6.0搞科研?这些隐藏技巧和实战配置你必须知道
  • 从负载变化到模式切换:一个实际案例,讲透Buck电路DCM与CCM的边界