首页 > 系统相关 >重读LinuxC编程

重读LinuxC编程

时间:2024-01-30 14:56:49浏览次数:34  
标签:本书 Scientist Like 编程 学习 概念 LinuxC Linux 重读

Linux C编程一站式学习 (akaedu.github.io)

开始复习,上一次是大二下在微信读书,上面统计花了30+hour。实际可能不只,而且似乎上面内容也有所缺失,所以并不算能看完。从前言来看,这书至少需要4个月才能学完,我凭什么一个月每天一小时就能学会呢。

  • 不是孤立地讲C语言,而是和编译原理、操作系统、计算机体系结构结合起来讲。或者说,本书的内容只是以C语言为载体,真正讲的是计算机的原理和程序的原理。

  • 强调基本概念和基本原理,在编排顺序上非常重视概念之间的依赖关系,每次引入一个新的概念,只依赖于前面章节已经讲过的概念,而绝不会依赖后面章节要讲的概念。有些地方为了叙述得完整,也会引用后面要讲的内容,比如说“有关XX我们到XX章再仔细讲解”,凡是这种引用都不是必要的依赖,可以当它不存在,只管继续往下看就行了。

  • 尽量做到每个知识点直到要用的时候才引入。过早引入一个知识点,讲完了又不用它,读者很快就会遗忘,这是不符合认知规律的。

读者素质:

  • 熟悉Linux系统的基本操作。如果不具备这一点,请先参考其它教材学习Linux系统的基本操作,熟练之后再学习本书,《鸟哥的Linux私房菜》据说是Linux系统管理和应用方面比较好的一本书。但学习本书并不需要会很多系统管理技术,只要会用基本命令,会自己安装系统和软件包就足够了。

  • 《鸟哥的Linux私房菜》:常看常新!鸟哥的 Linux 私房菜 -- 浅谈备份策略 (vbird.org)
  • 具有高中毕业的数学水平。本书会用到高中的数学知识,事实上,如果不具有高中毕业的数学水平,也不必考虑做程序员了。但并不是说只要具有高中毕业的数学水平就足够做程序员了,只能说看这本书应该没有问题,数学是程序员最重要的修养,计算机科学其实就是数学的一个分支,如果你的数学功底很差,日后还需恶补一下。

  • 具有高中毕业的英文水平。理由同上。

  • 对计算机的原理和本质深感兴趣,不是为就业而学习,不是为拿高薪而学习,而是真的感兴趣,想把一切来龙去脉搞得清清楚楚而学习。【这一点我也有所欠缺,就业的确重要,但追求本质的精神更加重要,无论是哪个领域】

  • 勤于思考。本书尽最大努力理清概念之间的依赖关系,力求一站式学习,读者不需要为了找一个概念的定义去翻其它书,也不需要为了搞清楚一个概念在本书中前后一通乱翻,只需从前到后按顺序学习即可。但一站式学习并不等于傻瓜式学习,有些章节有一定的难度,需要积极思考才能领会。本书可以替你节省时间,但不能替你思考,不要指望像看小说一样走马观花看一遍就能学会。【我高中和大学一部分学习时没有做到的,是我的错】

 《真正重要的东西就需要重复再重复》

[ThinkCppHow 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

相关文章

  • 漫画图解 Go 并发编程之:Channel
    当谈到并发时,许多编程语言都采用共享内存/状态模型。然而,Go通过实现CommunicatingSequentialProcesses(CSP)而与众不同。在CSP中,程序由不共享状态的并行处理器组成;相反,他们使用Channel来沟通和同步他们的行动。因此,对于有兴趣采用Go的开发人员来说,理解Channel的工作原理......
  • A025 《极限挑战》编程 源码
    一、课程介绍本节课将利用所学习的知识,制作一个空投物资的动画效果。二、重难点解析whileTruewhileTrue:...当while循环中的代码执行到最后一行后,又会跳转到while循环处开始重新执行下一次循环。获取画笔坐标通过xcor()可以获取到画笔的x坐标值,通过ycor()可以获取......
  • 漫画图解 Go 并发编程之:Channel
    当谈到并发时,许多编程语言都采用共享内存/状态模型。然而,Go通过实现CommunicatingSequentialProcesses(CSP)而与众不同。在CSP中,程序由不共享状态的并行处理器组成;相反,他们使用Channel来沟通和同步他们的行动。因此,对于有兴趣采用Go的开发人员来说,理解Channel的工作原理......
  • Windows内核开发-[5]、内核编程基础(2)
    上下文环境应用层应用程序工作在用户模式,内核驱动程序工作在内核模式。这里的用户模式和内核模式是基于CPU的特权环来定义的,CPU提供了0环~3环(ring0~ring3)共四个特权环,Windows操作系统使用了其中的0环和3环,0环为内核模式,3环为用户模式。不同环之间的代码特权不同,访问地址空......
  • 编程常用单词
    freedomsilence沉默;寂静;无声;callofsilencefree自由的;免费的;空闲的;免税的;自然的,不拘束的;Youwillknowyou'rereborntonight你会知道今晚你重生Mustbealright,butIstaybyyourside肯定没事,但我会陪在你身边基本单词://Javabean,POJO,Domain,en......
  • 深入理解 C# 编程:枚举、文件处理、异常处理和数字相加
    C#枚举枚举是一个特殊的“类”,表示一组常量(不可更改/只读变量)。要创建枚举,请使用enum关键字(而不是class或interface),并用逗号分隔枚举项:enumLevel{Low,Medium,High}您可以使用点语法访问枚举项:LevelmyVar=Level.Medium;Console.WriteLine(myVar);Enu......
  • Java编程学习(intellij idea)
    打开IntelliJIDEA新建Project新建Module新建Package输入Package名,enter新建JavaClass在Class中编程......
  • 深入理解 C# 编程:枚举、文件处理、异常处理和数字相加
    C#枚举枚举是一个特殊的“类”,表示一组常量(不可更改/只读变量)。要创建枚举,请使用enum关键字(而不是class或interface),并用逗号分隔枚举项:enumLevel{Low,Medium,High}您可以使用点语法访问枚举项:LevelmyVar=Level.Medium;Console.WriteLine(myVar);En......
  • UTF-8格式编码的文件分为带BOM和不带BOM windows下编程,Linux下编程建议使用“UTF-8无
    UTF-8格式编码的文件分为带BOM和不带BOMwindows下编程,Linux下编程建议使用“UTF-8无BOM格式,“建议使用”UTF-8带BOM格式“Notepad++支持“UTF-8无BOM格式”和“UTF-8带BOM格式”两种UTF-8。一直以来不知道二者有什么区别。程序员它们的区别是:UTF-8带BOM格式,就是在文件头添加......
  • 消息群发脚本:从入门到精通的编程之旅!
    在数字时代,信息的传递显得尤为重要,如何快速、高效地将消息发送给大量用户?答案就是“消息群发脚本”。对于开发者和营销人员来说,掌握这一技术无疑能为工作带来巨大的便利,今天,我们就深入探讨一下如何编写消息群发脚本,以及背后的原理。一、消息群发的魅力与挑战在社交媒体、电子邮件......