本节内容
理解编程
编程语言进化
高级语言分类
Python简单介绍
一.为什么需要编程?
编程是一个动词,编程==写代码
写代码为了什么?
为了让计算机帮你搞事情,比如QQ、支付宝都是一堆代码的集合,这些代码是什么?代码就是计算机可以理解的语言,这个语言就是编程语言
二.编程语言进化
计算机工作:二进制 0 1(底层是电路,开/关,不同信号代表不同的状态。N个开关有2的N方个状态)
用0 1描述的指令为机器指令
1.机器语言
开发效率低,执行效率高(最早的编程方式)
2.汇编语言
相当于把0 1换成单词,实质与机器语言相同,都是直接对硬件操作
3.高级语言
开发效率高,执行效率低(现今的编程方式),得益于硬件的发展
高级语言:高级语言对开发人员更友好,在开发效率上大大提高!
三.高级语言分类:编译型,解释型,混合型
1.分类方式:以翻译成二进制0 1的方式区分
2.编译型: #先翻译
(1)把源代码编译成机器语言的可执行程序
(2)执行 可执行程序文件
优点:执行前编译,执行过程中不需要源代码,不依赖语言环境,执行的是机器码文件
执行速度快,已经被翻译成了计算机可以识别的机器语言
缺点:每次修改源文件,需要重新编译,生成机器码文件
跨平台性不好,不同的操作系统,调用底层的机器指令不同,需要为不同平台生成不同的机器码文件
3.解释型: #同传翻译
(1)用户调用解释器,执行源代码文件
(2)解释器把源代码文件边解释成机器指令,,边交给cpu执行
优点:天生跨平台,因为解释器已经做好了对不同平台的交互处理,用户写的代码不再需要考虑平台的差异性
随时修改随时运行查看结果,不需要重新编译
缺点:运行效率低,所有的代码均需要解释器边解释边执行,速度比编译型慢很多
代码是明文
四.Python简单介绍
Python是一门高级语言
源代码文件--》解释器/虚拟机--》动态编译--》机器语言可执行命令--》CPU
解释器种类:
CPython C语言
IPython 基于CPython上的交互式解释器
PyPy 动态编译(混合型)
Jython Java平台
IronPython .NET平台