|
发表于 2023-1-2 21:29:18
|
显示全部楼层
首先,你所感觉的"基本上刚工作时只会用上编程知识,继续深造才用得上这些知识",本身就很可能是一种误解。
有相当一部分知识对一些高水平的计算机从业者来说,几乎是一毕业就会用到,并不是每个人刚毕业都要先从CRUD做起。就像现在的芯片行业正在发展,很多时候就需要刚毕业的学生懂得组成原理,体系结构,编译原理,操作系统等等知识。
在学校中就把这些有深度的计算机知识掌握,是具有直接的收益的。很多知识并不像你想象地那样无用。
当然对于大部分水平一般的学生来说,可能很难获得很好的教育资源,很难在学校就参加什么有技术含量的项目,对于这些知识只能机械性地进行记忆,然后用于考试,考试一考完就忘记。然后在这个过程中开始怀疑"学这些到底有什么用"。
这个就要谈到教育本身的意义了,在我看来,学习这些,至少有两个意义:
第一是拥有可能性。一个本身不具备这些知识的人即使会写代码,他实际上是有局限的。一个只会写javascript代码,不具备任何计算机组成原理知识的人,难以想象他某一天能够加入芯片公司从事体系结构的开发。但是拥有全门类计算机知识的人,即使刚毕业的几年在写JAVA做CURD,几年之后跳槽去做数据库系统或者网络也并不是新鲜事,因为他本身很多东西就是会的。
第二是破除神秘感。不具备这些计算机知识的人可能会把计算机当成一种"魔法",你很难弄清楚哪些事情能做,哪些事情不能做。你不知道自己的能力边界在哪里,你也不知道如何去到达这个边界。但是拥有了这些知识之后,计算机的很多东西就不再有神秘感。当你看到游戏画面的时候,你就知道它的本质是一堆图片+一段代码,然后图片本质上一个三维矩阵(图形学),代码是一堆有文法的文本,然后这个文本是由编译器进行解析,生成机器代码(编译原理),然后机器代码本质由又是一堆逻辑电路(组成原理),等等。这一点同样也很重要,网络上经常有产品经理大战程序员的笑话,很多时候都是不懂技术产品经理把计算机当成了一种"魔法"而造成的。
所以,还是认真学习吧。 |
|