1、计算机只能理解二进制(也就是0和1),其底层是电路,就比如电灯,开灯代表1,关灯代表0,把很多灯组和在一起,其不同的状态就能够表达不同意思了。1个灯能表达2个状态,2个能表达4个状态,以此类推。
2、计算机只能理解0和1,初代程序员是通过机器语言
(类似0,1的排列组合,是二进制的组和几乎和二进制没区别)与计算机交互,但是太复杂、效率低。
3、汇编语言:
机器语言的改进
相对机器语言,没有实质性的提高,只是改变了代码外观。
4、高级语言:
5、高级语言之间的分类:因为高级语言编制的程序不能被计算机直接识别,必须转换成二进制代码交于计算机才能执行(中间的转换过程就类似于翻译),所以根据转换方式(解释型和编译型)不同对高级语言分类。
5.1编译类:就比如一本中文写的书,要把它翻译成英文,先请一个翻译(这个翻译懂所有语言),把全本书翻译成英文,然后再给美国人去读。但是翻译完成后,只能是懂英语的人能看懂,其他人不懂。(也即无法跨平台)那么编译型语言就是把源代码全部翻译成机器语言后再生成一个执行文件。可以脱离原来的源代码和翻译器执行。
我们在计算机上的操作实际上是先通过输入设备给电脑传输指令,然后由操作系统来执行。但是不同的操作系统,其底层代码不一样。
5.2解释类:就比如一本中文写的书,要把它翻译成其他语言,请一个翻译(这个翻译懂所有语言),但是作者读一句,翻译员翻译一句,类似同声传译,可以翻译成不同的任何一种语言(也即可以跨平台)。效率也高。
那么解释类语言就是边翻译边运行,不生成执行文件,所以必须在翻译器里才能执行。
但是运行效率相对低,但是由于计算机本身运行速度很快,所以人感受不到明显差距。