【一】编程语言和编程
(1) 编程语言是什么
编程语言就是人类与计算机之间沟通交流的媒介
(2) 编程什么
计算机里的数据是二进制数据 01010101
# 编程就是为了让人类和计算机进行有效的交流
(3) 为什么要学习编程
让计算机按照我们的意愿完成特定的任务,实现高效率、自动化
【二】计算机组成原理
(1)什么是计算机
计算机是电脑,代替人类进行繁杂的数据处理和计算任务,减轻人力负担,实现自动化
(2)计算机的五大组成部分
(1)控制器
- 相当于计算机的大脑,负责协调调度其他硬件和软件配合工作
(2)运算器
- 相当于大脑处理运算的部分,实现计算的功能
- 算数:加减乘除
- 逻辑:判断条件成不成立
(3)存储器
- 存储数据的部分
- 长期存储
- 硬盘
- 数据存储就很持久,断电的话也不会消失,
- 读取数据慢
- 短期存储
- 内存条
- 短期存储数据,断电就会消失
- 长期存储
(4)输入设备 input
- 将信息输入到计算机,让计算机能够处理我们想要处理的数据
(5)输出设备 output
- 将计算机处理过后的结果呈现给用户或者其他设备
(6)小结
- 控制器 + 运算器 ---> 人的大脑 运算和处理
- 存储器 ---> 人的大脑 存储记忆
- 输入设备 ---> 人的眼睛、耳朵
- 输出设备 ----> 人的嘴,人的腿
【三】计算机三大核心硬件
(1)CPU
- 由控制器 + 运算器组成
- 处理计算中的数据,生成指令,控制计算机
(2)内存
- 临时存储正在运行的程序和临时数据
- 读取速度快,但是基于电工作
- 断电数据就会消失
(3)硬盘
- 长久存储我们的数据,包括我们的操作系统、应用程序和用户数据
- 只要硬盘不损坏就永远能保存数据
- 读取速度慢
1b = 8个比特位
1kb = 1024b
1mb = 1024kb
1GB = 1024mb
1TB = 1024GB
【四】操作系统
【1】为什么要出现操作系统
- 操作系统出现的目的是为了简化硬件操作,提供统一的接口供应用程序使用
- 我们在操作系统之上去开发我们的代码程序
【2】操作系统小结
- 对于不同公司的开发者来说,应用程序的业务逻辑各不相同,但硬件的控制程序都大致相同,为了避免所有程序员做重复劳动,以及不用再耗费精力去了解所有硬件的运行细节,有公司专门跳出来承担起控制程序的开发任务,这里所说的控制程序指的就是操作系统。
- 操作系统的功能就是帮我们把复杂的硬件的控制封装成简单的接口,对于开发应用程序来说只需要调用操作系统提供给我们的接口即可
【3】常见的操作系统
(1)客户端(PC)
- Windows(微软)
- macOS(苹果)
- Linux(服务器)
(2)移动端(APP)
- 安卓
- iOS
- 鸿蒙
【4】系统软件与应用软件
(1)系统软件(操作系统)
- 操作系统是一种系统软件,作为计算机硬件和应用软件之间的中介,负责协调、管理、控制计算机硬件与应用软件资源的控制程序。
- 其主要功能包括硬件管理、文件系统、进程管理、内存管理、设备驱动程序、用户界面等。
- 常见的操作系统有Windows、macOS、Linux等。
(2)应用软件(应用软件)
- 应用软件是为了满足用户特定需求而开发的软件,通过操作系统运行。
- 它包括各种各样的程序,涵盖了几乎所有计算机用户可能需要的功能。
- 例如:
- QQ: 一款即时通讯软件,用于文字、语音、视频通话以及文件传输等功能。
- 微信: 一款综合性社交平台软件,除了即时通讯外,还包括朋友圈、小程序等功能。
- Word: 一种文字处理软件,用于创建、编辑文档,处理文本内容。
- 这些应用软件通过操作系统提供的接口与硬件交互,使用户能够方便地完成各种任务。
- 应用软件的种类丰富多样,涵盖了各个领域,满足了用户的不同需求。
【五】计算机系统的三层架构
- 我们开发应用程序本质是在控制硬件,但是我们直接打交道的是操作系统,应用程序都是通过操作系统来间接地操作硬件的,所以一套完整的计算机系统分为三层
(1)应用层
- 在计算机系统的顶层是应用层,这是用户直接交互的层面。
- 我们的主要关注点通常是在这个层次上。
- 在这里,我们编写和设计各种应用程序,包括但不限于网页应用、桌面应用、移动应用等。
- 编写代码的目标是实现用户需求,而这些应用程序通过操作系统提供的接口来与底层硬件进行通信。
(2)操作系统层
- 操作系统层是连接应用层和硬件层的桥梁。
- 它提供了一系列的系统调用和服务,使应用程序能够在硬件上运行。
- 这一层包括操作系统的内核,负责管理系统资源、进程调度、文件系统等。
- 不同操作系统有不同的特性,例如Linux、Windows等,以及它们在开发中的影响。
(3)硬件层
- 硬件层是计算机系统的最底层,包括处理器、内存、存储设备、输入输出设备等。
- 在这个层次上,我们关注计算机体系结构、指令集架构、存储器层次结构等概念。
- 理解硬件层对于优化应用程序性能和解决一些底层问题至关重要。
(4)图解总结
【6】平台的概念
(1)什么是平台
- 应用程序都是运行于操作系统(系统软件)之上
- 而操作系统则是运行于硬件之上的,
- 所以承载应用程序的是一台运行有操作系统的计算机,称之为应用程序的运行平台
- 即:硬件 + 系统软件 == 平台
(2)常见的平台
- windows系统+某款硬件
- linux系统+某款硬件
- ubuntu+某款硬件等
(3)跨平台性的优势
- 在开发应用程序时,考虑跨平台性是至关重要的。
- 这意味着无论用户使用的是Windows、Linux还是其他操作系统,应用程序都能够在不同平台上运行。
- 这为开发者提供了更广泛的用户群体,减少了开发和维护的成本,同时增加了应用程序的灵活性。
(4)编程语言的选择
- 决定应用软件的跨平台性的确关键因素之一是选择合适的编程语言。
- 不同的语言在这方面有着不同的表现。
- Python作为一种解释型语言,具有卓越的跨平台性,这是因为Python解释器本身可以在各种操作系统上运行,而且许多Python库和框架也是跨平台的。
(5)Python的跨平台性
- Python的设计理念之一就是"Write once, run anywhere",即一次编写,到处运行。
- 这得益于Python解释器的能力,使得开发者无需担心底层平台细节,只需专注于编写高级代码。
- 这对于培训零基础小白来说,降低了学习和开发的门槛,使他们更容易进入开发领域。