编程语言基础知识点

1. 什么是编程语言

编程语言本质就是一门语言,和我们人所使用的汉语英语本质是一样的,也就是和另一种事务沟通的工具,而编程语言就是和计算机沟通的工具;

2. 机器语言

机器语言就是计算机能直接理解的二进制,机器语言编程就意味着直接使用二进制编程;

优点: 其所编写的程序可被计算机无障碍理解,执行效率高;

缺点: 因复杂所以开发效率低,依赖具体的硬件,跨平台差;

3. 汇编语言

汇编语言用一个英文标签对应一组二进制指令,对比机器语言是一种进步,本质还是直接操作硬件;

优点: 英文标签编写,对比机器语言复杂度降低,执行效率高;

缺点: 依赖具体硬件,跨平台差,开发效率低;

4. 高级语言

高级语言则就是用人能理解的字符去编写程序,其执行是在向操作系统发送指令,并非直接操作硬件,高级语言是建立在操作系统之上的,使用高级语言无需考虑硬件细节,开发效率得到极大提升,因使用人类字符编译,计算机需要翻译才能理解,执行效率低于底层语言;

因翻译方式的不同又分为编译型和解释型两种;

4.1 编译型

编译型会把程序编译成计算机能识别的二进制指令,然后由操作系统拿着编译好的指令操作硬件(如c语言);

优点: 编译一次拿到的结果可重复执行,无需再次编译;

缺点: 编译的代码结果只针对当前执行的平台有效,无法跨平台;

4.2 解释型

代码的执行需要解释器,解释器会边执行边翻译(如Python);

优点: 运行依赖于解释器,不同的平台有对应的解释器,跨平台强;

缺点: 每次执行都需要翻译;

5. 弱类型与强类型语言

弱类型:
数据类型可被忽略的语言,例如linux的shell语言定义一个变量,随着调用方式的不同,数据类型可随意切换。

强类型:
数据类型着重的语言,即变量的数据类型一旦被定义,就不会在改变,除非进行强转换操作等(如Python);

6. 动态型与静态型语言

动态型:
运行时才进行数据类型检查,即在变量赋值时,才确定变量的数据类型,不用事先给变量指定数据类型;

静态型:
需要事先给变量进行数据类型定义;

7. 效率对比

执行效率: 机器语言>汇编语言>高级语言(编译型>解释型)

开发效率: 机器语言<汇编语言<高级语言(编译型<解释型)

猜你喜欢

转载自blog.csdn.net/msmso/article/details/108606929