在计算机学院,老师们似乎被期望成为编程界的时尚达人,熟练掌握各种主流框架技术。但等等,我们是不是搞错了什么?计算机学院的课程表上,除了大一那点编程语言的启蒙课,剩下的课程听起来都跟编程八竿子打不着:计算机网络、操作系统、计算机组成原理……这些课程,更像是在培养未来的计算机科学家,而不是码农。
再说了,那些编程基础课的目的,不就是让学生对编程有个基本概念,学会写几个 if-else 语句,了解一下面向对象的思想吗?这需要多强的编程能力?至于那些实践课程,比如搭建个简单的 Web 应用,好点的学校会请来有经验的程序员或者企业转行的老师,他们的技术水平一般还是靠谱的。
国内大部分高校教师,他们的工作和市场上主流程序员干的事情完全是两码事。他们不需要,也不应该过多接触市场上的热门技术。就像我前两年,自诩为“工程化”能力超强,熟悉各种编程规范和工具链,对新技术的追求近乎痴迷。但后来,我发现自己越来越累,写代码变成了一件复杂的事情。
我开始反思,看到那些老教师在简陋的编辑器里,慢悠悠地敲出一行行充满注释的 C 代码,我竟然感到了一种“Boring but good”的美感。我逐渐丧失了对新技术折腾的欲望,意识到这不过是在原地踏步。我想找一个不那么有趣但足够扎实的领域,做一些真正有价值的事情。
计算机领域归根结底就两个方向:抽象和具象。抽象如系统架构、类型理论,具象如缓存设计、算法优化。高校科研,就是在这两个方向上深耕。写代码很重要,但“掌握主流框架技术”真的没那么重要。