编程语言分类

编程语言分类

编程语言是用来和计算机交互的,但是计算机只认识0和1

机器语言(低级语言)

0010110 0001 0000 0000 0000 0000 0000 0000 0000
0000100 0101 0100 0010 0110 0000 0100 0001 0000
0010110 0010 0000 0001 0000 0000 0000 0000 0000
0110110 0000 0000 0000 0000 0111 0000 0000 0000
0000100 0010 1001 0000 0000 1111 0000 0001 0000

直接和硬件交互

用0和1和计算机沟通

优点: 执行效率高

缺点: 开发效率低,人几乎看不懂,是给机器看的

汇编语言

;定义数据段
DATA SEGMENT              
    str db 'Hello World$'    ;汇编语言的字符串要以$结尾
DATA ENDS
 
;定义代码段
CODE SEGMENT				
ASSUME CS:CODE,DS:DATA    ;将CS和CODE,DS和DATA段建立联系
START: 
       MOV BX,DATA 
       MOV DS,BX
       LEA DX,str 
       MOV AH,9
       INT 21H
 
       MOV AH,4CH        ;将控制权返回给终端。
       INT 21H
CODE ENDS
END START

直接与硬件交互

优点(相较于机器语言):开发效率高

缺点(相较于机器语言):执行效率低

高级语言

接近于人类语言

编译型(写完后一次性丢入翻译器翻译)

例如:C、JAVA、GO

和计算机硬件间接交互

记录下来,全部写完才能翻译.文件编译成另一个obj文件.再和计算机沟通得到结果

优点(相较于解释型语言):执行效率高

缺点(相较于解释型语言):开发效率低

例如:C语言

include 'stdio'
int main()
{
    printf("Hello World!");
    return 0;
}

把代码翻译成机器语言,通过编译器(汇编语言/机器语言写的)编译

解释型(写完一行,解释一行)

说一句翻译一句

优点(相较于编译型语言):开发效率高

缺点(相较于编译型语言):执行效率低

例如:Python

print('helloo world')

将代码翻译成机器语言,一般是通过解释器(是由编译型语言写的)

网络的瓶颈效应

就好像你去访问两个个网站,一个网站使用编译型语言编写的,还有一个网站是使用解释型语言编写的。编译型编写的响应速度是5ms,解释型的响应速度是6ms。但是,你网络延迟是10ms,也就是说,不管你是访问哪一个网站,你最快得到响应的速度也是10ms。

原文地址:https://www.cnblogs.com/Gredae/p/11252996.html