1.机器语言(machine language)
- 最底层的编程语言,由一系列的由机器指令(二进制形式)组成,与特定计算机硬件架构紧密相关。
- 可以简单理解成机器指令对应着计算机硬件物理状态的改变。
- 计算机可以直接执行,无需转换。
- 编写困难,对开发者要求极高,且不具备可移植性,不同的计算机架构有不同的机器语言。
2.汇编语言(assembly language)
- 相对于机器语言更加人性化,用助记符(mnemonics)代替二进制代码,让程序员更容易理解和编写。
- 汇编语言需要通过汇编器(Assembler)转换为机器语言才能执行。
- 同样具有很强的硬件相关性,不同的CPU架构有不同的汇编语言。
3.c语言
- 相对于机器语言更加人性化,用助记符(mnemonics)代替二进制代码,让程序员更容易理解和编写。
- 汇编语言需要通过汇编器(Assembler)转换为机器语言才能执行。
- 同样具有很强的硬件相关性,不同的CPU架构有不同的汇编语言。
4.Java语言
- 高级编程语言,面向对象设计,具有强大的抽象能力和丰富的库支持。
- Java代码通过Java编译器编译成字节码(Bytecode),而不是直接编译为特定架构的机器码。
- 字节码可在任何安装了Java虚拟机(JVM)的系统上运行,JVM会将字节码动态地解释或即时编译为本地机器指令执行。
- Java强调平台无关性,提高了代码的可移植性,但相对C语言牺牲了一些执行效率。
总结来说,从机器语言到Java,抽象程度越来越高,编程难度降低,可移植性增强,但同时也牺牲了一定的执行效率和对硬件的直接控制能力。