Linux C编程一站式学习 (akaedu.github.io)
开始复习,上一次是大二下在微信读书,上面统计花了30+hour。实际可能不只,而且似乎上面内容也有所缺失,所以并不算能看完。从前言来看,这书至少需要4个月才能学完,我凭什么一个月每天一小时就能学会呢。
-
不是孤立地讲C语言,而是和编译原理、操作系统、计算机体系结构结合起来讲。或者说,本书的内容只是以C语言为载体,真正讲的是计算机的原理和程序的原理。
-
强调基本概念和基本原理,在编排顺序上非常重视概念之间的依赖关系,每次引入一个新的概念,只依赖于前面章节已经讲过的概念,而绝不会依赖后面章节要讲的概念。有些地方为了叙述得完整,也会引用后面要讲的内容,比如说“有关XX我们到XX章再仔细讲解”,凡是这种引用都不是必要的依赖,可以当它不存在,只管继续往下看就行了。
-
尽量做到每个知识点直到要用的时候才引入。过早引入一个知识点,讲完了又不用它,读者很快就会遗忘,这是不符合认知规律的。
读者素质:
-
熟悉Linux系统的基本操作。如果不具备这一点,请先参考其它教材学习Linux系统的基本操作,熟练之后再学习本书,《鸟哥的Linux私房菜》据说是Linux系统管理和应用方面比较好的一本书。但学习本书并不需要会很多系统管理技术,只要会用基本命令,会自己安装系统和软件包就足够了。
- 《鸟哥的Linux私房菜》:常看常新!鸟哥的 Linux 私房菜 -- 浅谈备份策略 (vbird.org)
-
具有高中毕业的数学水平。本书会用到高中的数学知识,事实上,如果不具有高中毕业的数学水平,也不必考虑做程序员了。但并不是说只要具有高中毕业的数学水平就足够做程序员了,只能说看这本书应该没有问题,数学是程序员最重要的修养,计算机科学其实就是数学的一个分支,如果你的数学功底很差,日后还需恶补一下。
-
具有高中毕业的英文水平。理由同上。
-
对计算机的原理和本质深感兴趣,不是为就业而学习,不是为拿高薪而学习,而是真的感兴趣,想把一切来龙去脉搞得清清楚楚而学习。【这一点我也有所欠缺,就业的确重要,但追求本质的精神更加重要,无论是哪个领域】
-
勤于思考。本书尽最大努力理清概念之间的依赖关系,力求一站式学习,读者不需要为了找一个概念的定义去翻其它书,也不需要为了搞清楚一个概念在本书中前后一通乱翻,只需从前到后按顺序学习即可。但一站式学习并不等于傻瓜式学习,有些章节有一定的难度,需要积极思考才能领会。本书可以替你节省时间,但不能替你思考,不要指望像看小说一样走马观花看一遍就能学会。【我高中和大学一部分学习时没有做到的,是我的错】
《真正重要的东西就需要重复再重复》
[ThinkCpp] How To Think Like A Computer Scientist: Learning with C++. Allen B. Downey.
How to Think Like a Computer Scientist — How to Think Like a Computer Scientist: Learning with Python 3 (openbookproject.net) [chinese version]
How to Think Like a Computer Scientist: Learning with Python 3 Documentation (readthedocs.org)[english version]
1. 程序和编程语言
第 1 章 程序的基本概念
1、解释执行的语言相比编译执行的语言有什么优缺点?
系统地总结当前小节的知识,结合以前的知识,并经过一定的推理,然后作答。
掌握以概念为中心的阅读思考习惯,每读一节就总结一套概念之间的关系图画在书上空白处。【这个培训班授人以鱼的同时授人以渔】
抓住概念的定义和概念之间的关系
程序由语句或指令组成,计算机只能执行低级语言中的指令(汇编语言的指令要先转成机器码才能执行),高级语言要执行就必须先翻译成低级语言,翻译的方法有两种:编译和解释。虽然有这样的不便,但高级语言有一个好处是平台无关性。什么是平台?一种平台,就是一种体系结构,就是一种指令集,就是一种机器语言,这些都可看作是一一对应的,上文并没有用“一一对应”这个词,但读者应该能推理出这个结论,而高级语言和它们不是一一对应的,因此高级语言是平台无关的,概念之间像这样的数量对应关系尤其重要。
标签:本书,Scientist,Like,编程,学习,概念,LinuxC,Linux,重读 From: https://www.cnblogs.com/asandstar/p/17997008