Basic Concepts and Terms
A computer's native language, which differs among different types of computers, is its machine language—a set of built-in primitive instructions.(机器语言是计算机硬件设计过程中就确立下来的原始指令集,是机器可以直接读懂的指令,每种类型的计算机采用的指令集可能不同,例如Intel构架采用的复杂指令集X86,ARM构架采用的精简指令集等)
Assembly language uses a short descriptive word, known as a mnemonic, to represent each of the machine-language instructions.(汇编语言采用便于记忆的助记符代替机器语言中的操作码,使得代码便于理解和记忆;然而,机器是读不懂汇编语言的,因此需要一个翻译,这个翻译就是汇编器Assembler,汇编器将机器码转换为目标机器的机器码,然后执行)
High-level languages are English-like and platform independent. (高级编程语言近似人类语言英语,学习起来更容易,例如if语句直接对应英语的如果怎么样就怎么样;高级编程语言是平台独立的,也就是说理论上在任何计算机都能使用某一种高级语言,只要这类计算机有该类语言的编译器;计算机也是不能直接读懂高级语言的,需要进行编译或解释,因此又分为解释型语言和编译型语言)
An interpreter reads one statement from the source code, translates it to the machine code or virtual machine code, and then executes it right away. (解释型语言是一边解释一边执行,解释器将读到的源代码转换为机器码或则虚拟机代码进行执行,常见的有Python、JavaScript、PHP等)
A compiler translates the entire source code into a machine-code file, and the machine-code file is then executed.(编译型语言编写的源代码由编译器编译成目标机器的机器码,然后执行程序,注意这里是目标机器的机器码,比如中文翻译成英国的英语和法国的法语,这里目标对象不一样,翻译后的语言也不一样)
Java实际上不是纯粹的编译型语言或解释型语言,它是先由编译器将源代码编译为字节码文件,再由虚拟机解释执行。
TIOBE Index
https://www.tiobe.com/tiobe-index/


