我对学习计算机基础的一些心得见解

最近总是遇到了许多的瓶颈…即感觉认识的知道的太少了。

在前些天看到了一些关于python的优化内容之后,加上之前用python也有一段时间了,突然的感觉到一些基础细节才是最重要的,我意识到了这往往可能就是人与人技术之间的一个分水岭,也往往是突破瓶颈关键点,也往往能决定一个人技术的所在点。基础细节知识是能决定一个人能走多远的

平时在写程序时不应满足于功能的实现,更加应当注意那些可优化的细节问题,就好比一个算法的时间复杂度与空间复杂度一样的,写的每一个程序(无论那种编程语言)均有可优化的最优解选择。在我平时因为涉及的数据规模不大,这种问题目前是看不出来的,如果运用到的是一个数据规模大的问题上,优化必然是重要的,不可或缺的。

平时想问题总是感觉能联想到的知识太少,回过头来看,发现自己对计算机的认识本来也不够全面(注意是全面!而非透彻!)。这往往也限制了我许多的想象,从而造成了我的瓶颈突出明显。

说了这么多,只是想说一个问题:计算机基础知识(包括编程基础知识)是能决定一个人技术的高度的。至少我现在就有这种感觉,写一个程序不应满足于功能的实现,更应探索最优解的选择。这往往就是技术的一个区分标准吧。

关于如何学习以上说的基础知识,我有一些见解在此想要说明一下。

  • 知识尽量要了解全面,不能为了速度而一知半解的,那样只会浪费时间,最后还是什么都不知道。

  • 有些知识可能会引起我们的好奇,想要进一步理解透彻(彻彻底底),但是这其中却是有太多的知识链关联着的…这点我深有体会。如果顺着知识链步步了解,我们的确也能学习到许多的知识,但是最后会发现其实这些在我们实际需要中根本没有多大的作用,仅仅当时作为一种科普了,当然现在学习到的知识也是以后我们技术的一种铺垫,如果实在有兴趣就当我没说,兴趣是学习一种知识最好的引导。

  • 有些是需要理解透彻的,有些(大部分)可能仅仅是需要了解一下就好的。

  • 根据目前的需求来进行学习也是一种好的驱动力。

  • 一些必要的基础知识是需要了解的,比如学习了计算机概论,那一般以后买电脑时就会有自己的一些见解了。学习了数据结构与算法基础之后,编程时就不会仅仅以达到目的而“不择手段”编写程序了,因为再学习了这些基础知识之后我们脑子里必然会有一些规则“约束”了。

最后,我还是想说,对于底层的电路什么的那种我想我是不愿也是不情愿接触的…

---------------本文终---------------