永远不要高估自己
1.基础引子
1.1 什么是语言?什么是编程语言?为什么要有编程语言?
- 语言就是传递信息的介质。你要让美国人帮你办事就需要用英语与他交流,要让日本人办事就要说日本话。
- 编程语言就是人与机器(计算机)交流使用的介质。
- 要让机器(计算机)办事,就要说机器听得懂的语言!
2. 计算机组成原理
2.1 什么是计算机?
计算机俗称电脑,电动的大脑,人类发明电脑的初衷,代替人脑计算,解放人力
2.2 为什么要用计算机?
计算机可以不吃、不喝、不睡觉,24小时连轴转,人不可以。
2.2 计算机的五大组件
- 控制器 :控制其他组件
- 运算器 :进行运算(数学运算、逻辑运算)
CPU=控制器+运算器、联想CPU等同于人类大脑
3.存储器 :分为内存与外存(内存速度远远大于外存)
4.输入设备 input:键盘、鼠标,相当于人的耳朵眼睛
5.输出设备 output:显示器、打印机,相当于人说出的话
3 操作系统简述
3.1 计算机系统
计算机硬件+操作系统+ 应用程序组成了计算机系统
计算机硬件+操作系统=平台
3.2 为什么要有操作系统
1.使用代码直接操作电脑硬件是非常繁琐的、所以有一部分程序员站了出来,将操作硬件的操作进行封装,当你需要操作硬件的时候只需要调用别人写好的接口
2.计算机发明之初,程序员使用代码直接控制硬件。控制硬件这件事情是非常繁琐的,倘若我们要开发一个应用程序,比如暴风音影,该软件的一个核心业务就是播放视频,开发者若要编写程序完成播放视频这个业务逻辑,必先涉及到底层硬件硬盘的基本运作(视频文件都是先存放于硬盘中),这意味着开发者在编写业务逻辑代码之前,必须先编写一个控制硬盘基本运行的控制程序,然而这仅仅只是一个开始,事实上,在编写应用程序的业务逻辑前,需要开发者编写出一套完整的控制程序用来控制所有硬件的基本运行(这要求开发者需要详细了解计算机硬件的各种控制细节,例如我们必须把CPU里面所有指令集都掌握一遍),如此,所有的开发者在开发程序时都必须依次开发两种
a. 编写一套完整的的控制程序,用来控制硬件的基本运行,以及把复杂的硬件的操作封装成简单的接口。
b. 基于控制程序的接口开发包含一系列业务逻辑的程序,为了与控制程序区分,可以称为应用程序。
综上,对于不同公司的开发者来说,应用程序的业务逻辑各不相同,但硬件的控制程序都大致相同,为了避免所有程序员做重复劳动,以及不用再耗费精力去了解所有硬件的运行细节,有公司专门跳出来承担起控制程序的开发任务,这里所说的控制程序指的就是操作系统。
操作系统的功能就是帮我们把复杂的硬件的控制封装成简单的接口,对于开发应用程序来说只需要调用操作系统提供给我们的接口即可