为什么我感受不到计算机专业是建立在基础学科上的？
感觉学了高数大物这些课根本在编程上用不到，甚至有些人整个大学四年只学了Java编程就可以找到一份相当不错的工作，那既然基础学科对编程的作用如此微弱，那编程在高中甚至初中就可以开始学了吗？
因为封装是计算机科学里最美妙的思想之一：整体来看，从电路到应用软件的封装隐藏了计算机系统的物理特性。一个独立的计算机系统自底向上大致涵盖了这些本科里会涉及到的学科：大物、模电、数电、计组、操作系统、汇编语言、编译原理、高级语言、DSA、开发框架、软件工程；而不同计算机系统之间通过计算机网络相连接。细节来看，从编程语言到框架的封装隐藏了问题与解的数学特性。例如：离散数学、组合数学是算法领域的建模与研究工具；高等代数、微积分、概统是机器学习领域的理论基础。人们常常是用轮子多，造轮子少，因而习惯于工作在封装的高层，对底层也就感知甚少。因此，孩子们当然可以在高中时学会编程，如果目标仅仅是使用轮子而已。这和人们并不是必须先修完车辆工程的学位以后才可以驾驶汽车的道理是一样的。