1.机器语言、汇编语言、高级语言
2.编译性语言、解释性语言和脚本语言
3.结构话语音
4逻辑式语言,过程式语言,函数式语言
1). 机器语言
计算机执行的二进制命令,都是0和1表示的。
2). 汇编语言
具有一定意义的文字命令,与机器语言一一对应。汇编语言可以通过汇编得到机器语言,机器语言可以通过反汇编得到汇编语言。汇编过程还包括变量内存管理,即经过汇编之后所有的变量和函数都变成了地址,而常量也变成了对应的值。
但是汇编语言还是不够直观,一个简单的动作需要大量的语句来描述,因此又有了高级语言。
3). 高级语言
更简单,符合人们的习惯,也更容易理解和修改。高级语言经过编译器编译之后可以得到目标程序。
编译器的作用就是把高级语言的源代码转换成对应平台的目标代码。高级语言书写比较简单,但是翻译起来比较复杂,同样的高级语言语句可以有不同的机器语言实现方法。因此同一段高级语言经过不同的编译器编译之后会得到不同的目标程序,就是说高级语言与汇编/机器语言之间不再是一一对应的关系了。上面说到汇编之后源代码中的变量都变成了地址,所以用可执行文件(如exe等)进行反汇编之后得到的也是一堆地址,几乎不可能得到源代码。
另外,关于跨平台,也是针对源代码而言的。一段源代码转移到另一个平台上要经过重新编译、重新获得目标程序才能运行,前提是源代码没有依赖于平台的特性。不过即使源代码对平台有依赖性,重新编译后也可以进行一定改动再使用。
C#是高级语言。不过高级语言并不是说比其他语言怎么怎么高级,一定更好的意思,高级语言与计算机的硬件结构及指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。