已经好几个月没有更新博客,前段时间看了看自己写的文章认为深度还不够。对于问题的理解还不透彻,所以非常长时间没有更新博客文章,在未更新博客的这段时间内基本的时间用来读书和写代码,期间也发生了非常多事。
在这段时间内主要学习了python、c++以及Lisp的一些东西,主要是以下面书籍为主:
- 计算机程序的构造与解释
- C++ Primer 5th
- 汇编语言
-
计算机程序的构造与解释(下面简称SICP)
讲的Lisp语言确实让我看到了还有一个世界,lisp简洁的语法和极大的抽象能力让我开了眼界,同一时候SICP不仅教给你怎样去抽象问题。还教你怎样去逻辑复用。将一段代码抽象再抽象,从简单的求和问题抽象到积分,再抽象到Accumulate;说实话全然理解这本书讲的内容对我来说还是有点困难。如今一遍还没有过完,非常多地方还有非常多疑惑和问题,可是经典的书我认为看一遍无法理解其精华。仅仅有在看完一遍以后。每过一段时间再又一次看书的内容每次的收获是不一样的。c++ Primer 5th(下面简称cpp5)
在阅读这本书时候已经学习了c语言的一些知识,所以在一開始的学习中还是非常轻松的,可是在后面的学习过程中,特别是一開始解说有关流的知识是由于曾经没有接触过相似的知识。所以一開始无法理解这些东西,可是在完毕例题的过程中慢慢理解并学会了运用。在后面的学习过程中也体会到了c++存在的内存管理的问题。c++为了面向机器而兼容c的面向过程,使得程序猿在敲代码的时候必须考虑各种细节,这是c++的长处也是缺点,在给你极大地自由度的情况下让你能够掌控程序的每一寸细节,同一时候也极大的考验程序猿的程序功力。汇编语言(王爽)
学习这门课由于这是我们专业必修的课程,非常多人都说如今学习汇编没有什么意义,可是在学习了之后。我认为假设时间充足,而且学有余力的话一定要学习一下汇编。不要认为不搞底层就不是必需学习汇编了。在学习汇编的过程中你会对计算机的工作原理、代码的运行以及内存中的问题理解的比没学过汇编的同学更加透彻,同一时候我在网易云课堂上学习操作系统的时候老师解说操作系统bootsect和setup的时候看汇编代码就非常easy理解了,所以不要别人的片面之词,自己不独立思考,什么事情仅仅要自己感兴趣,有时间。就去做。年轻有试错的资本,况且这样的试错也不算是错,学习嘛,特别是自学。肯定会走一段弯路的。Machine Learning In Action
在看这本书之前我对机器学习仅仅有一点的了解,在老师的推荐下看了这本书监督学习的全部算法,在学习的过程中才发现事实上机器学习也没有想象中的那么神奇,可是机器学习对数学的要求特别是线性代数的要求还是非常高的。这本书入门来说还是不错的。可是非常多算法看了就忘,须要将算法用于实际的项目才干达到理解运用的地步,说实话我认为机器学习算法的核心还是在于数据集的採集和处理。不同的算法无非是对数据集不同的处理方法。
在读这几门书的时候我将我写的SICP的课后习题答案放在了github,我眼下还没有完毕全部习题,另外如今的一些习题的答案可能会有bug,有兴趣的同学或者是正在学习SICP的同学能够參考一下我的答案。欢迎issue,欢迎repo。