语言分类
Posted romacle
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了语言分类相关的知识,希望对你有一定的参考价值。
常见的几种分类
1.高级语言和低级语言
2.动态类型和静态类型
3.强制类型和弱类型
4.编译型,解释型,半编译半解释
5.面向对象型和面向过程型
1.高级语言和低级语言
常见的高级语言有:C, C++, JAVA, Python, php, C#, Ruby, Go。
常见的低级语言有:机器码, 汇编语言。
机器码:计算机能够直接识别的二进制编码,无论语言多高级都要转成二禁止文件来让计算机识别运行。
汇编:用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,再不同的设备中有着不同的指令集。
高级语言:为省去编程时的不必要的操作细节,节省代码量,可读性强,维护性强,更贴近人性化。
高级语言与低级语言的区别:高级语言大部分不能直接跟硬件打交道,这使得相对来的程序运行熟读降低,总之一句话来说哪种语言更接近人性化的语言就更高级。
2.动态类型和静态类型
动态性语言是指在程序运行期间才给变量指定数据的类型,常见于Python和Ruby,而静态类型语言则恰好相反,在写程序代码的时候就要指定变量的类型,这种语言有:C ,C++, JAVA
3.强制类型与弱类型
在C语言中,一个变量只能定义为一种类型,如float类型,那么它就只能是float类型而不能在不发生转化的情况下赋予int类型,这就是强制类型的具体体现。
而Python不是,Python中的变量可以任意的复制,而没有类型的界限。这就是弱类型。
强制类型更严谨,更不容易出现错误,单弱类型的语言写起来更优雅,更舒畅。
4.编译型,解释型,半编译半解释
对于源程序,编译型语言在执行过程中会将源文件一次性的转化为机器码,而解释型语言是边编译边解释;编译型语言是离不开解释程序的,这也导致了解释性语言对于运行时候的速度比较慢,解释型语言只要有解释器,移植起来比较方便,而编译型语言则要对于不同的系统进行编译,工作繁琐,且在调试程序的时候比较慢。
编译型语言可见于C , C++等
解释型语言可见于Python,javascript,Perl,shell等
而java是半编译半解释型的语言,Java会将源文件在JVM中转化为字节码,即.class文件,在程序运行的时候转化为二进制文件。和C#中的.net有点区别,C#编译成的.net目标代码,接近于二进制文件,可移植性没有Java好,Java是“一次编译,到处执行”,C#是“一次编码,到处编译”。
5.面向对象型和面向过程型
面向过程是决定该怎么铺成一条路到达终点,而面向对象是要用那些具有特定功能的对象来做,两者是不同的思想。
C++是部分面对对象的,Java具有封装性是完全面对对象的,C语言是面向过程的语言。
以上是关于语言分类的主要内容,如果未能解决你的问题,请参考以下文章