非科班程序员和科班程序员的差距到底在哪里?( 三 )

操作系统则是很多编程语言能够运行的基础 , 不管你用的是Java , 还是C++ , 你都要对操作系统有一定程度的了解 , 操作系统是你理解各种高级编程语言的基础 , 特别是后端编程 , 我们需要考虑内存管理 , 考虑并发编程 , 考虑网络编程 , 等等等等 , 这些东西都必须跟操作系统打交道 。

数据结构就不用说了 , 刚才我们在算法里已经提到了 。 还有一门很重要的课程就是计算机组成原理 。 你不知道计算机组成原理 , 你就不知道电脑到底是怎么启动的 , 更不知道CPU到底是如何运转的 , 如果你连这些都不知道 , 等以后你真正遇到这些问题时 , 再让你从头学起 , 岂不是天方夜谭?

想到这里 , 我不禁两行清泪 , 我的计算机基础其实也是靠自己恶补补回来的 , 虽然说现在也只是个半桶水 , 但是也已经算是非科班程序员中做的还算不错的了 , 即便如此 , 我还是经常在遇到实际问题时 , 因为对计算机基础掌握得不够好而走弯路 。 当然了 , 非科班程序员也有自己的优势 。

比如说 , 理解事情的能力和解决问题的能力 , 我觉得科班程序员 , 他们能够成为一个程序员 , 是一个非常正常的事情 , 他们按照自己的原有轨迹去做 , 毕竟这是他们比较熟悉的领域 , 并且能够把它们做好 , 非科班程序员就像是半路杀出个程咬金 , 可能你不知道他之前的积累是怎么样的 , 你只知道他现在可以通面试 。

推荐阅读