再谈计算机的学习

再谈计算机的学习
lihuibear序
现在是 2026 年 10 月,一个 AI 工具盛行的时代,一个各行各业都在尝试与 AI 挂钩的时代。
24年7月,我写过一篇浅谈计算机的学习,当时将学习方法总结为 自学 + 笔记 + 搜索 + AI。AI 排在最后,并告诉学弟学妹们不要依赖 AI。
那时的 AI 代码能力还不够强,我更倾向于将它看作一个“超级浏览器”,用来辅助搜索和理解知识,而不是直接替我们解决问题。
两年过去了,AI 的能力已经发生了巨大的变化。曾经强调不要依赖 AI 的我,如今也开始在学习和开发中越来越多地使用它,手敲代码的那一批人,我们称之,古法编程。
时代变了,工具变了,我们学习计算机的方式,或许也该重新思考了。
打开社交媒体,我们能看到各种各样的 AI 工具层出不穷;打开招聘软件,越来越多的岗位开始要求具备 AI 相关能力;甚至在原本与计算机毫无关联的领域(比如销售、教师),AI 也正在以一种不可忽视的速度改变着传统的工作方式。对于工作来说,就应面向TA招什么,我们就要学什么!所以Vibe Coding,应当是整个计算机行业,尤其是软件行业必须了解熟悉的技能。
对于计算机专业的学生来说,这无疑是一个充满机遇,同时也令人感到焦虑的时代。
一方面,AI 降低了编程的门槛( tokens在手,天下我有 )。过去需要花费大量时间查阅文档、理解语法、调试代码的问题,现在可能只需要向 AI 描述清楚需求,就能获得一个看似完整的解决方案。一个没有太多编程经验的人,也可以借助 AI 快速搭建一个简单的应用;一个经验丰富的开发者,则可以利用 AI 提高效率,将更多精力投入到架构设计、业务分析和复杂问题的解决之中。(现在的开发应当是全栈开发,这里的全栈是指 从产品、前端、后端、测试、部署、运维的全部过程)
另一方面,这种便利也让我们不得不重新思考一个问题:当 AI 可以帮助我们编写代码、解释原理,甚至完成一个完整的项目时,我们究竟还需要学习什么!
是继续花费大量时间背诵语法、记忆 API、钻研各种框架的使用方式(是的是的,这些面试都会问的),还是把这些工作交给 AI,直接学习如何提出问题、组织需求、组合工具,最终实现自己的目标(这些现在也会被问到了)。
AI 的出现,并不意味着计算机知识失去了价值。恰恰相反,当代码越来越容易生成时,理解代码为什么这样运行、系统为什么这样设计,以及如何判断一个解决方案是否正确,可能会变得更加重要。在AI时代,我们需要的是决策者,而不是实施者。
回过头来看,我们在大学里学习计算机,往往会陷入一种熟悉的循环:学习一门语言,接触一个框架,跟着教程完成一个项目,再把这些内容写进简历,最后希望通过面试找到一份工作。这个过程当然没有错,它帮助我们建立最初的知识体系,也让我们具备了进入行业的基本能力。
但随着学习的深入,我逐渐意识到,学会使用某种技术,与真正理解这项技术,是两件不同的事情;能够完成一个项目,也不等于具备了独立解决问题的能力。尤其是在AI时代,我们可以说是只是干出来了,不是学会了再做出来。
所以,我并不想在这篇文章里讨论某一种编程语言是否值得学习,也不想简单地比较 Java、Python、前端或者各种 AI 框架的优劣,语言的学习,框架的学习都是最基础的,所谓一通百通,关键是知道怎么学。
在技术更新越来越快的今天,我们应该如何建立自己的知识体系?基础知识究竟有多重要?学习一项新技术时,应该追求广度还是深度?面对 AI,我们应该如何利用它,而不是逐渐依赖它?对于一个即将进入行业的计算机专业学生来说,什么能力才是真正值得长期投入的?
这些问题没有必要急于得到一个标准答案,也不会有一个标准答案。
我更愿意把学习看作一个不断修正认知的过程。每经历一次项目实践,每解决一个曾经无法理解的问题,每发现自己过去的某个认知存在偏差,我们对计算机的理解就可能向前迈进一步。所谓自我革命。
技术会不断变化,框架会不断迭代,工具也会不断更新。但理解问题的能力、建立知识之间联系的能力,以及面对未知时独立思考和持续学习的能力,始终值得我们认真培养。
这也是我写下这篇文章的初衷。
与其说是分享一套成熟的学习方法,不如说是记录自己在这个阶段的一些思考。它未必完全正确,也未必适用于所有人,但我希望通过梳理这些问题,让自己更加清楚接下来应该学习什么、为什么学习,以及究竟想通过学习获得什么。
那么,就让我们从头开始,再谈谈计算机的学习。
首先,一个观点,传统技术与框架、前后端联调,这些基本功必须掌握。 你可以不用,但不能没有。
不懂产品的开发,不是好的开发
很多时候,我们习惯于拿到需求就开始写代码,产品让做什么,我们就做什么。但我认为,一个好的开发者,不应该只是需求的执行者,还应该是需求的理解者。
我们需要思考,用户真正需要的是什么?这个功能解决了什么问题?有没有更合理的实现方式?一个需求是否值得做,应该如何设计,哪些功能是必要的,哪些功能只是徒增复杂度?这些问题不应该只是产品经理需要考虑的事情。
我们不一定要成为专业的产品经理,但至少应该具备产品思维,理解业务、站在用户的角度思考问题,并能够参与需求分析、功能设计和方案讨论。写代码是手段,解决问题才是目的。 当我们开始理解为什么做,而不只是思考怎么做时,才能真正从一个代码编写者成长为一个开发者。
不会部署运维的开发,不是完整的开发
代码写完,只是开发的开始。项目如何部署、服务如何启动、日志如何查看、异常如何排查、服务如何维护,这些同样是开发需要掌握的能力。从本地运行到线上稳定运行,我们应该尽可能了解软件的完整生命周期。
不会利用 AI 工具的开发,不是面向未来的开发
两年前,我可能还会强调不要过度依赖 AI。但如今,AI 的代码生成、问题分析和任务执行能力已经发生了巨大的变化。它不再只是一个帮助我们搜索资料、解释概念的工具,而是能够参与需求分析、项目搭建、代码编写、测试调试,甚至部署运维的开发助手。
我们当然仍然需要学习传统技术,理解编程语言、框架原理、数据结构和系统设计。AI 能够生成代码,并不意味着我们可以不理解代码;AI 能够解决问题,也不意味着它给出的方案一定正确。相反,随着 AI 能够承担越来越多的工作,我们反而需要具备更强的判断能力,知道如何拆解任务、描述需求、审查代码、验证结果,并在出现问题时找到真正的原因。
与此同时,我们也没有必要拒绝 AI,刻意重复那些已经可以被工具高效完成的工作。与其花费大量时间机械地编写重复代码,不如把更多精力放在理解问题、设计方案、验证结果和完善产品上。
未来的开发者(其实就是现在了),不一定要比 AI 写得更快,但必须知道让 AI 做什么、如何判断它做得对不对,以及如何将它的产出转化为真正可用的产品。
尾
那么,究竟应该如何学习计算机?
我的想法是:基础要学,框架要用,项目要做,AI 要会。
传统技术决定了我们能走多稳,项目实践决定了我们能走多远,产品思维与部署运维能力决定了我们能否独立完成一件事,而 AI 决定了我们能在多大程度上放大自己的能力。
不要为了学习而学习,也不要为了使用 AI 而使用 AI。带着问题去学,围绕目标去做,在实践中发现不足,再借助 AI 提高效率。
从理解原理,到独立开发;从完成需求,到交付产品。一个人,也可以是一支完整的开发团队。
技术仍在变化,学习也没有终点。
后续我会根据我的目前的经验制作一期博客并同步发在公众号,希望可以和大家共同探讨AI时代,计算机从业者何去何从!




