编程语言发展史:
1.机器语言(机器语言即以“0101010”这样的二进制的形式,直接操作硬件。)
优点:机器能够直接读懂,执行效率高
缺点:开发效率极低
举例:
0000,0000,000000010000 代表 LOAD A, 16 0000,0001,000000000001 代表 LOAD B, 1 0001,0001,000000010000 代表 STORE B, 16 0001,0001,000000000001 代表 STORE B, 1[1]
2.汇编语言(用简单的英文标签来表示二进制,直接操作硬件。)
优点:开发效率高于机器语言
缺点:执行效率低于机器语言
举例:
###打印一句hello world需要些以下代码 ; hello.asm section .data ; 数据段声明 msg db "Hello, world!", 0xA ; 要输出的字符串 len equ $ - msg ; 字串长度 section .text ; 代码段声明 global _start ; 指定入口函数 _start: ; 在屏幕上显示一个字符串 mov edx, len ; 参数三:字符串长度 mov ecx, msg ; 参数二:要显示的字符串 mov ebx, 1 ; 参数一:文件描述符(stdout) mov eax, 4 ; 系统调用号(sys_write) int 0x80 ; 调用内核功能 ; 退出程序 mov ebx, 0 ; 参数一:退出代码 mov eax, 1 ; 系统调用号(sys_exit) int 0x80 ; 调用内核功能
3.高级语言
举例:PHP;C语言;C++;C#;java;python;go
1.编译型(就像是使用谷歌翻译)(比如 C语言)
一次翻译后,就可以拿着结果多次运行
编译的过程需要编译器
优点:执行效率高
缺点:开发效率低
2.解释型(就比如同声传译)(比如python)
一行一行的翻译(读一行翻译一行)
解释的过程需要解释器
优点:开发效率高
缺点:执行效率低
学习难度:
机器语言>>>汇编语言>>>高级语言
执行效率:
机器语言>>>汇编语言>>>高级语言
开发效率:
高级语言>>>汇编语言>>>机器语言