1计算机语言发展史
1-1三种语言
1-1-1机器语言
1机器语言是一连串的0/1代码,也是CPU唯一能够识别的语言(就好比是CPU的母语),用母语和CPU沟通,运行效率肯定是最快的!
2对于不同的系统,需要编写不同的机器语言,也就是机器语言不是通用的。
疑问1:
什么叫做不是通用的?
答案0.0:难道是指对于同样的一个功能,在不同的系统上需要重新编写代码?(不像C++语言,只要有一个源程序,匹配对应的编译器就能够在不同的系统上运行)
答案1.0:是的,通过查阅得知,不同的系统其对应的机器码不一定相同,比如ARM处理器上加法可能用1100来表示,但在x86处理器上加法可能用0101来表示
1-1-2汇编语言(用符号来代替机器码)
1 0/1串毕竟不方便人类记忆,于是用一些有意义的符号,字母(例如jump),这些有意义的符号与0/1串一一对应,做到了既方便人类记忆,又能够通过映射,便于CPU理解。
2 同样的,对于不同的系统,需要编写不同的汇编语言,汇编语言也不是通用的
1-1-3高级语言
1高级语言更接近人类使用的自然语言(python,C,java等语言),高级语言要先被翻译成机器语言,才能够被机器理解。
2高级语言的通用性:对于一个功能,只要编写一个源程序,配合不同的编译器,就能够实现在不同的系统上运行。
3根据翻译的方式不同,可以将高级语言分为:编译型语言和解释型语言
1-1-3-1编译型语言(C++,C语言)
有了源程序之后,编译器直接将整个文件,编译成目标执行文件(机器语言),然后计算机再执行该程序。
1-1-3-2解释型语言(python语言)
有了源程序之后,将源程序中的代码逐句输入编译器,逐句翻译,且计算机程序逐句执行,并不生成可执行文件。(两者之间最大的区别)