要不要系统地学习计算机科学,取决于你的职业目标。如果你将来主要是一个计算机的应用者,你可以不学计算机专业,但如果你打算做一个计算机科学领域的“推动者”,那你必须学习。

![](data:image/svg+xml;utf8,)

我们判断要不要做一件事情,永远不能够脱离我们的最终目的。所以我们也可以反过来问,如果我学计算机,那我的目的是什么呢?大致来说无非是两个方向,一个是发展,一个是应用。如果你的目标是“推动计算机科学的发展”,那肯定要系统地学习计算机的。如果你的目标是用计算机来处理各种问题,几乎不需要,尤其在AI蓬勃发展的时代。

如果说知道计算机底层工作原理的人,是具备"工程师视角"的人,需要用到这种工程师视角的需求越来越少。比如说一个人可以从零开始实现所有排序算法,而另外一个不能从零实现但十分了解他们的复杂度,以及可以随意调用各种排序算法,他们对工作的胜任程度可能是完全一样的。举个极端点的例子,把一个工程师“下放”到流水装配线上,起到的作用和普通工人是一样的。如果用数字来表示一个人对计算机的了解程度,0代表完全不懂计算机,10表示计算机专业毕业生的水平,大部分计算机相关的职业只需要4~5的水平。 举些例子(只是大致的分类,作为参考):

初级 IT Support / Helpdesk:1–2

初级网页制作 / Web 开发(小型项目、低代码量):1–2

普通 Web 开发(中小型项目):3–4

企业应用开发(低复杂度):3–4

系统运维 / 网络运维:5–6

移动端应用开发(中等复杂度):5–6

高性能 Web / 企业系统开发:7–8

高级移动端开发 / 跨平台框架开发:7–8

算法工程师 / AI 系统开发:9–10

系统底层开发 / 编译器 / 操作系统开发:9–10

IT行业就是一条巨大的流水生产线。在前AI时代,随着互联网的发展和学习计算机课程门槛的降低,这条流水线上的工人越来越不依赖于专业出身。在AI时代,这条流水线需要的工人(真正的人)越来越少。我的一个判断是,IT行业90%以上的职位都可以被AI取代,只是时间长短而已。虽然今天仍然存在大量 AI不能完美解决的技术问题,但是看看Nano Banana Pro能做的事情以及能做到什么程度,我对我的判断还是很有信心的。

总而言之,从就业角度看,如果目标是应用AI和计算机工具完成工作,大部分岗位不需要掌握完整的计算机科学理论,学计算机专业不是必需;而从推动学科发展的角度,如果希望深化各个领域的发展(包括AI)或开拓新的领域,就必须学习计算机专业,掌握学科核心知识。

知乎讨论:AI 都能写代码了,还要学计算机吗?