如何理解计算机学科的三个形态:理论奠基工程落地场景赋能
大一刚接触专业课的时候,一直搞不懂如何理解计算机学科的三个形态,傻傻的把所有计算机相关学习内容,都归为敲代码做项目,埋头死磕实操,完全忽略了学科本身的分层逻辑,学习效率低的离谱。
那时候对学科的认知,浅薄得离谱。
最开始的大半年,全程陷在单一的实操思维里,每天泡在机房敲代码、调bug、写简单的小程序,笃定计算机学科就是纯粹的技术实操,只要代码可以正常运行,作业能拿高分,就是掌握了专业知识。课本里的离散数学、计算理论、逻辑推导这些内容,被我当成无用的纸上知识,上课全程走神,课后从不复盘,甚至觉得学校开设这些课程纯属浪费时间,根本没发现这些枯燥的理论内容,是支撑所有计算机技术落地的核心根基,没有严谨的数理逻辑和计算原理,所有的代码编写、系统开发都是无根之木,经不起任何复杂场景的考验。
后来折腾好久才搞明白,计算机学科的三个形态,是层层递进、互相依存的完整体系,缺一不可。
第一次打破固有认知,是大二参加校级软件开发实训。那次组队开发校园选课辅助系统,原本以为只要写完功能代码就能顺利结题,结果实操的时候漏洞百出。代码逻辑没问题,理论推演完全成立,但部署到校园服务器后,频繁出现卡顿、数据错乱的问题。反复排查后才发现,是忽略了服务器承载力、用户并发量这些工程层面的问题,理论成立的公式和逻辑,放到真实运行环境里,必须兼顾稳定性、兼容性、维护性,这就是区别于理论形态的工程形态。
这是我第一次分清理论与工程的本质差异。
真正完成认知破壁,是后续参与校企合作的智能巡检项目之后。做完系统开发、调试落地后,导师要求我们根据工厂的实际作业场景,二次优化系统功能,删减繁琐操作、适配工人的使用习惯、对接生产线的原有数据体系。那一刻才看清计算机学科的第三个形态,不是理论推导,也不是工程实现,而是场景科学形态。所有技术最终的归宿都是解决真实问题,脱离行业场景的技术开发,只是空洞的技术练习,没有实际的价值。
其实身边很多同专业的人,一直学不透计算机,就是混淆了这三个形态。要么死啃理论不会落地,要么只会写代码不懂底层原理,要么做完项目不结合场景优化,把三位一体的学科拆成了单一的技能学习,越学越迷茫,越学越找不到方向。
收拾好项目资料的那晚,台灯照着桌面上密密麻麻的算法推演草稿。